2011-03-03 248 views
1

我們當前使用禁用Windows身份驗證的SQL 2008,我們只允許SQL混合訪問SQL。SQL Windows身份驗證

我們希望將我們的版本控制軟件切換到需要Windows身份驗證的Team Foundation Server。

最終導致一些問題,我已經與我們的DBA談過了,Windows身份驗證不是一種選擇,也不是將SQL放在TFS所在的服務器上。

問題是,從他告訴我的情況來看,您無法僅爲單個用戶啓用Windows身份驗證,無論是對所有用戶開啓還是關閉。

這是正確的嗎?還有什麼其他選擇?

回答

3

您需要與DBA再談一次。

有2個選項用於驗證到SQL Server:

  • Windows身份驗證(只)
  • Windows身份驗證和SQL Server身份驗證

是的,這是事實,如果你打開後者也稱爲混合模式,它適用於服務器(現在將接受Windows身份驗證) - 它的確如此而不是意味着突然所有有效的Windows用戶都可以訪問到SQL Server !

Windows登錄仍然需要添加爲SQL用戶(SQL登錄!= SQL用戶[主體]),然後他們可以屬於角色等,因此您只需要爲TFS添加用戶。

事實上,你不可能禁用Windows身份驗證 - 所以我不明白爲什麼DBA應該抱怨「打開」Windows身份驗證。


這可能是你需要做什麼:

  • 添加新的域組「sqltfs」
  • 創建一個SQL用戶從Windows安全集團的「域\ sqltfs」
  • 格蘭特所有(或間接地通過角色)需要新的用戶訪問
  • 所有TFS用戶添加到域組「sqltfs」

這種方式,您都可以CONTIN在使用SQL登錄的地方(現有代碼),同時仍然通過TFS - > SQL Server通過域組成員身份獲得訪問權限

+0

將向我們的DBA – jaekie 2011-03-03 20:18:01

1

這可能屬於超級用戶,但我會採取刺。在我的SQL 2008 R2管理控制檯中,數據庫服務器可以以純Windows認證模式或混合Windows認證+ SQL認證運行。它不能在SQL身份驗證中運行。

既然你說你是混合模式,我看不出爲什麼他不能將另一個用戶添加到使用Windows域帳戶而不是本地SQL服務器帳戶的數據庫。混合模式允許兩者。