2013-08-14

SQL Agent 跨伺服器排程作業 'NT AUTHORITY\ANONYMOUS LOGON' 登錄失敗

最近想透過SQL Agent自動執行抓取異地資料庫資料的動作,
在一般SQL編輯器模式下使用指令搭配連結的伺服器執行是沒有問題的,
但是新增到SQL Agent讓排程自動執行,一直出現錯誤訊息:
以下列使用者的身分執行: NT AUTHORITY\SYSTEM。
用戶 'NT AUTHORITY\ANONYMOUS LOGON' 登錄失敗。 [SQLSTATE 28000] (錯誤 18456).  步驟失敗。

Google一下,大多都是說因為SQL Server Agent 服務登入的帳號權限問題,
但因為兩台主機不處於同一個DOMAIN下,
所以也無法透過DOMAIN帳號設定為同樣的使用者,
後來在連結伺服器的安全性中加入對應帳號,

本機登入 NT AUTHORITY\SYSTEM
遠端使用者 sa
密碼 sa密碼

不過存檔時卻又出現"不允許對系統目錄的特定更新"的錯誤訊息,
後來依據德瑞克大的文章,不直接點選"確定"按鈕,
而是改用產生指令的方式直接執行語法,
但是要特別注意
 update [master].[dbo].[sysservers] set  [srvproduct] = '', [datasource] = '' where [srvname] = 'XXX'
這段略過不要執行,即可完成修改!

參考自:
張貼留言