Azure-Sql-Database

使用 SSMS 對象資源管理器從伺服器登錄中刪除使用者後,如何從主數據庫中刪除使用者

  • April 2, 2021

我正在使用 Azure SQL 數據庫。在我看到漏洞評估報告中提到他們後,我從 Azure SQL 數據庫中刪除了一些使用者。以下是我刪除它們的方法:

  1. 登錄 SSMS
  2. 展開對象資源管理器樹
  3. 展開“安全”文件夾
  4. 展開“登錄”文件夾
  5. 突出顯示使用者
  6. 右鍵點擊並選擇“刪除”

我回到漏洞評估刀片並執行了新的“掃描”,但我刪除的使用者仍然顯示在列表中。該列表包含 SQL 程式碼以顯示我的使用者仍然存在。我在主數據庫的 SSMS 中執行該程式碼並確認我的使用者仍然存在。以下是相關程式碼:

SELECT * FROM sys.database_principals

當我執行以下程式碼時,我收到一條錯誤消息,指出使用者不存在(“或者您沒有權限” - 但我是伺服器管理員,所以我排除了這一點):

DROP LOGIN <username>

**注意:**我已經從伺服器上的所有數據庫中刪除了使用者。

如何擺脫這些登錄?

這裡有兩個與安全有關的概念,以及 SQL Server 的工作原理。有LoginsUsers,在這個StackOverflow 答案中進一步討論了它們的區別。您已經刪除了伺服器級別的登錄,但與這些登錄關聯的****使用者仍然存在於數據庫級別,它有自己的安全節點,您可以展開它,然後在它下面有一個使用者節點。

每當您將登錄名映射到數據庫(以授予數據庫權限)時,它都會在該數據庫中創建一個使用者

例子:

從數據庫中刪除使用者

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