Sql Server 2012 使用虛擬帳戶時如何配置活動目錄?
我從 Sql Server 2012 收到以下事件日誌條目:
SQL Server 計劃作業“複製代理檢查”-狀態:失敗-呼叫時間:2012-08-04 10:00:00-消息:作業失敗。無法確定作業複製代理檢查的所有者 (AD\Administrator) 是否具有伺服器訪問權限(原因:無法獲取有關 Windows NT 組/使用者“AD\Administrator”的資訊,錯誤程式碼 0x6e。
$$ SQLSTATE 42000 $$(錯誤 15404))。
我認為這是因為 Sql Server 2012 使用的虛擬帳戶無法檢索所需的活動目錄資訊。從Sql Server 2012 文件:
Windows Server 2008 R2 和 Windows 7 中的虛擬帳戶是託管本地帳戶,提供以下功能以簡化服務管理。虛擬賬戶是自動管理的,虛擬賬戶可以在域環境下訪問網路。如果在 Windows Server 2008 R2 或 Windows 7 上的 SQL Server 設置期間對服務帳戶使用預設值,則使用使用實例名稱作為服務名稱的虛擬帳戶,格式為 NT SERVICE(SERVICENAME)。作為虛擬帳戶執行的服務通過使用格式為 (domain_name)(computer_name)$ 的電腦帳戶的憑據來訪問網路資源。
所以,問題是:如何在我的域控制器中為 (domain_name)(computer_name)$ 使用者創建權限,以及我需要授予哪些權限才能使 Sql Server 2012 能夠檢索它所需的資訊?或者,我是否需要切換到託管服務帳戶才能正常工作?或者,我應該將工作的所有者更改為其他人嗎?
我嘗試了其他兩個答案,但它們都沒有幫助我的情況。最終,我能夠使其正常工作的唯一方法是從虛擬帳戶 (VA) 切換到託管服務帳戶 (MSA),如此處和此處所述。
此外,我無法讓事務複製與 VA 或 MSA 一起使用——在這兩種情況下,作業歷史記錄日誌總是顯示身份驗證錯誤。最終,我恢復為各種複制代理使用普通域使用者,並且它起作用了。
預設情況下,服務帳戶將能夠查看域並根據需要對其進行查詢。
這是一個每隔一段時間就會出現的問題。將作業所有者更改為 sa,然後點擊確定。然後將其更改回 AD\Administrator 並點擊確定。下次作業執行時它應該執行良好。