1

我有兩個主要使用的SQL Server(一個2005實例和一個2000.)我的權限結構是這樣工作的 -如何查詢哪個Active Directory帳戶與SQL Server用戶關聯?

首先我創建一個Active Directory組,然後添加所有必要的用戶。然後,我轉到SQL-MS,並通過選擇Windows身份驗證選項來添加用戶,然後選擇我剛剛創建的AD組。對這篇文章毫無幫助,但我將新的登錄帳戶與所有必要的數據表,視圖和SP相關聯。

選擇組後,我一直將登錄名字段作爲AD組的名稱以供參考。

最近我有一個AD集團重新命名。數據庫繼續工作,並且,一些方法,SQL Server知道哪個AD組關聯SQL登錄。我的問題是登錄名在SQL Server中沒有更新,所以我不知道哪個AD組與SQL Server登錄帳戶相關聯!

是否有我可以運行的查詢,或者是否存在隱藏的設置,可以幫助我發現哪個AD組與此帳戶關聯?

- 編輯 -

謝謝回覆者的回答。你已經回答了這個問題,但是,它提出了另一個問題posted here

+0

到目前爲止,有兩個很好的答案適用於2005年。我更新了我的問題,以反映我需要針對SQL 2005和SQL 2000的解決方案。首先爲兩種情況提供解決方案獲取解決方案檢查。正如我所說的 – RLH

+0

- 2000年的整個安全子系統是完全不同的,所以我非常懷疑將有任何解決方案適用於2000以及2005/2008/2008 R2版本...... –

回答

1

您可以檢查您在系統上定義爲登錄的Windows組;

SELECT * 
FROM sys.server_principals 
WHERE type_desc = 'WINDOWS_GROUP' 

這工作SQL Server 2005和更新只。

但你不會得到實際的AD組名 - 只有「SID」爲該組....

整個安防系統是SQL Server 2000上完全不同的 - 我不認爲有一個1:舊恐龍:-)最好的我能想到的將是1等效查詢:

SELECT * 
FROM master.dbo.sysxlogins 
WHERE password IS NULL 
    AND name IS NOT null 

但不幸的是,有沒有辦法,我就知道到Windows之間的單獨用戶和Windows安全這裏....

+0

請在妮可的回答中看到我的問題。 – RLH

+0

「升級時間」。是的,我同意。然而,企業的「神」遷移總是很慢,這就是爲什麼我們仍然堅持使用Windows XP,並且我相信它將會持續3年(實際上!) – RLH

+0

賓果!謝謝Marc! – RLH

2

AD組和SQL Server登錄之間的映射正在完成using the group's SID。您可以使用sys.server_principals查看其SID的登錄列表。如果您想更改現有登錄名稱,可以使用ALTER LOGIN

+0

編輯 - 是有相當於SQL 2000的sys.server_principals表嗎?我只是試圖查詢它,但我被告知它不存在...但是,同樣的查詢在我的SQL 2005服務器中工作。 – RLH

相關問題