2009-08-05 114 views
31

我正在使用腳本創建SQL Server複製。當我嘗試執行無法獲取有關Windows NT組用戶的信息

The job failed. Unable to determine if the owner (STAR\moorer7) of job L3BPT2M-Atlas-14 has server access (reason: Could not obtain information about Windows NT group/user 'STAR\moorer7', error code 0x5. [SQLSTATE 42000] (Error 15404)).

這是定義複製的腳本創建工作。

如何調試?

+2

我將工作屬性中的所有者更改爲'sa',然後解決了問題。 – Alex 2016-08-13 07:25:36

+2

heh。你在7年前問過這個問題,今天它仍然幫助像我這樣的人。 – PowerUser 2016-12-06 17:44:18

+0

任何人都可以告訴我,爲什麼當作業或維護計劃的所有者在AD中,並且SQL框中的管理員仍然會發生此錯誤?我總是必須回到sa賬戶才能運行任何東西。 – 2017-04-20 21:09:12

回答

33

Active Directory拒絕訪問您的SQL代理。代理應該在由STAR域控制器識別的帳戶下運行。

+1

@Remus Rusanu:代理在本地計算機帳戶下運行,如MyWorkstation \ SqlServerAccount – 2009-08-05 17:58:50

+8

@Raj:實際上,因爲是連接到AD的SQL Server本身,所以您需要更改運行SQL的帳戶。它必須是AD將進行身份驗證的帳戶,例如域帳戶或NETWORK SERVICE帳戶(只要該計算機已加入域)。 SSMS或EM可以選擇更改服務帳戶。 – 2009-08-05 19:09:53

+2

+1讓我不必與我的dba交談(節省了幾個小時) – DancesWithBamboo 2011-09-30 18:02:57

5

我們在虛擬機上的測試環境中遇到了類似的錯誤。如果計算機名稱因模板克隆虛擬機而發生更改,則可能會出現此錯誤。

如果計算機名稱從OLD更改爲NEW。

作業使用此存儲過程:

msdb.dbo.sp_sqlagent_has_server_access @login_name = 'OLD\Administrator' 

使用這種之一:

EXECUTE master.dbo.xp_logininfo 'OLD\Administrator' 

其中給出這個SQL錯誤15404

select text from sys.messages where message_id = 15404; 
Could not obtain information about Windows NT group/user '%ls', error code %#lx. 

我的猜測是正確的,在情況。我們向虛擬機克隆/部署過程添加了一個腳本,用於重新創建SQL登錄。

3

在我的情況下,我收到了這個錯誤,試圖在SQL Server 2008 R2上使用IS_ROLEMEMBER()函數。這個功能是不是之前的SQL Server 2012的

而不是這個功能我結束了使用

select 1 
from sys.database_principals u 
inner join sys.database_role_members ur 
    on u.principal_id = ur.member_principal_id 
inner join sys.database_principals r 
    on ur.role_principal_id = r.principal_id 
where r.name = @role_name 
and u.name = @username 

明顯更詳細有效的,但它能夠完成任務。

1

剛剛解決了這個問題。在我的情況下,它是域控制器不可訪問,因爲這兩個DNS服務器是谷歌DNS。

我只是添加到清單,對於這個問題:

  • 檢查域控制器是可訪問的
1

我有同樣的問題,這竟然是由域登錄時引起的運行SQL服務被鎖定在AD中。鎖定是由於服務帳戶與另一用途的錯誤密碼無關的使用而造成的。

從SQL代理日誌收到的錯誤沒有提及服務帳戶的名稱,只是用戶名稱(作業所有者)無法進行身份驗證(因爲它使用服務帳戶與AD進行檢查)。

1

我必須連接到VPN以獲取發佈腳本才能成功部署數據庫。

8

對我來說,這些工作在DOMAIN \ Administrator下運行,並且出現錯誤信息"The job failed. Unable to determine if the owner (DOMAIN\administrator) of job Agent history clean up: distribution has server access (reason: Could not obtain information about Windows NT group/user 'DOMAIN\administrator', error code 0x5. [SQLSTATE 42000] (Error 15404)).要解決這個問題,我將每個失敗作業的所有者更改爲sa。在此之後完美無瑕地工作。這些工作與複製清理有關,但我不確定它們是手動添加的還是作爲複製設置的一部分添加的 - 我沒有涉及它,所以我不確定。