我負責一些測試數據庫服務器。從歷史上看,太多的其他人可以訪問他們。他們在SQL Server 2005上運行。我一直在編寫查詢並將它們封裝在腳本中,以便我可以定期對權限進行審計。找出哪些用戶對服務器本身具有管理員權限是沒有問題的,因爲發現誰在登錄時擁有「sysadmin」角色 - 這是後者的單行查詢。如何編寫SQL查詢以查明哪些登錄已被授予Sql Server 2005中的哪些權限?
但如何找出哪些登錄有用戶映射到特定的(或任何)數據庫?我可以找到sys.database_principals和sys.server_principals表。我找到了sys.databases表。我還沒有弄清楚如何找出哪些用戶對數據庫有權限,如果是這樣的話,是什麼。每個Google搜索都會使用「登錄」對話框的「用戶映射」窗格手動啓動人員,而不是使用查詢來執行此操作。有任何想法嗎?
大衛,我認爲你在錢上。我明天開始工作時需要測試一下。將更新這個問題。非常感謝! – 2008-09-15 20:42:33