我有一個BizTalk服務器已經按照使用BizTalk日誌傳送實現的BizTalk災難恢復說明進行了配置。SQL代理作業失敗
Executed as user: DOMAIN\User. SQL Server Network Interfaces: Error getting enabled protocols list from registry [xFFFFFFFF]. [SQLSTATE 42000] (Error 65535) OLE DB provider "SQLNCLI10" for linked server "SQL01" returned message "Login timeout expired". [SQLSTATE 01000] (Error 7412) OLE DB provider "SQLNCLI10" for linked server "SQL01" returned message "A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.". [SQLSTATE 01000] (Error 7412). The step failed.
此作業執行本地存儲的過程,基本上是在執行另一個存儲過程:
在備份SQL服務器,把它SQL02,「獲取備份歷史」的工作,下面的錯誤不斷失敗,一個名爲SQL01的鏈接服務器。
當我SQL02在查詢窗口中執行該存儲過程:
EXEC [SQL01].[BizTalkMgmtDb_Prod].[dbo].[sp_GetBackupHistory]
它執行沒有任何錯誤。
當SQL代理作業嘗試執行相同的查詢時,它會失敗並顯示上述錯誤。
爲什麼我可以手動執行該過程並且SQL代理作業不能?
我將該作業的所有者作爲未映射到sysadmin角色的域帳戶。因此,該作業以該用戶的身份執行(按照我的理解,儘管非常有限) 這可以在錯誤消息中看到; 「以用戶身份執行:DOMAIN \ User」。 如果我將所有者切換到帳戶出現在郵件中的另一個帳戶。 有趣的是,如果我將所有者切換到自己(該帳戶,我可以運行手動查詢爲)它仍然失敗,同樣的錯誤! – ryancrawcour