2014-03-25 74 views
3

我試圖在存儲過程結束時在遠程服務器上運行作業。無法在遠程服務器上運行SQL作業

我使用這個代碼

exec msdb..sp_start_job @job_name = 'MyJob', @server_name = 'divss403' 

然而,它口口聲聲說工作不存在

Msg 14262, Level 16, State 1, Procedure sp_verify_job_identifiers, Line 67 
The specified @job_name ('MyJob') does not exist. 

的工作肯定存在並拼寫正確

我的廣告帳戶有權在遠程服務器上執行該作業,如果我在該服務器上運行該代碼,則作業開始。

我猜這是一個權利問題,但我不知道我應該在哪裏尋找

+0

「如果我在該服務器上運行此代碼,則啓動作業。」你能解釋一下你正在運行這個代碼的兩種方式嗎? –

+0

從服務器1運行它,它無法執行服務器2上的作業。在服務器2上運行它可以在服務器2上運行該作業 –

+0

從服務器1運行 - 是否指您在本地登錄服務器1,啓動SSMS服務器然後通過SSMS連接到服務器2,然後運行該代碼?請具體說明。 –

回答

-1

努力讓你使用的是FQDN,這樣添加的服務器名稱:

exec remoteserverhere.msdb.dbo.sp_start_job @job_name = 'MyJob', @server_name = 'divss403' 

剛首先連接到SSMS中的遠程服務器。

+0

我必須通過SSMS連接服務器嗎? –

+0

添加鏈接服務器(Server1上的Server2)。現在,EXEC認爲你想在本地服務器上運行它。 FQDN告訴MSSQL它是遠程的。 – smoore4

+0

然後服務器名稱參數是什麼? –

0

我有這個問題。事實證明,LINKed服務器沒有得到正確創建或其他東西。刪除LINK服務器並再次添加它解決了這個問題。也請先嚐試鏈接服務器>點擊確定,然後轉到此鏈接的屬性以啓用RPC和RPC。