Sql-Server

SQL Server - 刪除與孤兒使用者關聯的所有登錄

  • November 2, 2018

我有一個有很多數據庫的 SQL Server 2008R2。

該過程是創建登錄並將使用者映射到數據庫。

這些數據庫中的大多數現在已從伺服器中刪除,但最終有大量與映射到非現有數據庫的使用者相關聯的登錄名。

是否有批量方法來擺脫這些登錄名及其關聯使用者?

謝謝

首先,孤立使用者是一個定義與不存在的登錄關聯的數據庫使用者的術語。根據您的解釋,您和您的登錄資訊並非如此。

如果數據庫已從伺服器中刪除,則不會有孤立使用者,因為它們將隨數據庫一起消失,將有沒有關聯使用者且可能未使用的登錄。

要查找這些沒有數據庫映射的登錄名,請看這裡

但是,要擺脫這些沒有映射的登錄,您需要確保沒有活動,您可以嘗試多種方法,例如擴展事件、分析器、伺服器審核等來擷取所有登錄活動、解析登錄事件並檢測未使用的登錄. 擴展事件將是最好的,因為它更快並且需要更少的資源。我遇到了同樣的問題,並在幾年前使用擴展事件開發了一個解決方案。該腳本創建一個 SQL 代理作業,該作業動態創建所需的一切。用於擷取伺服器上所有登錄事件的擴展事件將事件寫入 C 驅動器上的文件,然後由作業解析該文件並將所有內容記錄到摘要表中。如果你願意,我可以上傳腳本,但不幸的是,還沒有關於它的文件或部落格文章。

引用自:https://dba.stackexchange.com/questions/221617