Freigeben über


Vorgehensweise: Erstellen eines Masterauftrags für den SQL Server-Agent (Transact-SQL)

In diesem Thema wird die Verwendung von gespeicherten Prozeduren zum Erstellen eines Masterauftrags für einen MicrosoftSQL Server-Agent beschrieben.

Weitere Informationen zur Auswirkung des für den SQL Server-Agent-Dienst verwendeten Windows-Kontos auf eine Multiserverumgebung finden Sie unter Einrichten einer Multiserverumgebung.

So erstellen Sie einen Masterauftrag für den SQL Server-Agent

  1. Führen Sie sp_add_job aus, um einen Auftrag zu erstellen.

  2. Führen Sie sp_add_jobstep aus, um mindestens einen Auftragsschritt zu erstellen.

  3. Führen Sie sp_add_schedule aus, um einen Zeitplan zu erstellen.

  4. Führen Sie sp_attach_schedule aus, um dem Auftrag einen Zeitplan anzufügen.

  5. Führen Sie sp_add_jobserver aus, um die Zielserver anzugeben, auf denen der Auftrag ausgeführt werden soll.

Änderungen an Masteraufträgen für den SQL Server-Agent müssen an alle beteiligten Zielserver weitergegeben werden. Da Zielserver einen Auftrag erst herunterladen, wenn sp_add_jobserver aufgerufen wird, empfiehlt Microsoft, alle Auftragsschritte und -zeitpläne für einen bestimmten Auftrag abzuschließen, bevor Sie sp_add_jobserver ausführen. Andernfalls müssen Sie im Anschluss an den Vorgang sp_post_msx_operation aufrufen, um das Herunterladen des geänderten Auftrags durch die Zielserver anzufordern.

Sicherheit

Verteilte Aufträge mit Schritten, die einem Proxy zugeordnet sind, werden im Kontext des Proxykontos auf dem Zielserver ausgeführt. Stellen Sie sicher, dass die folgenden Bedingungen erfüllt sind, da andernfalls einem Proxy zugeordnete Auftragsschritte nicht vom Masterserver auf den Zielserver heruntergeladen werden:

  • Der Registrierungsunterschlüssel \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<instance_name>\SQL Server Agent\AllowDownloadedJobsToMatchProxyName (REG_DWORD) ist auf 1 (true) festgelegt. Dieser Unterschlüssel ist standardmäßig auf 0 (false) festgelegt.

  • Auf dem Zielserver ist ein Proxykonto vorhanden, das den gleichen Namen wie das Proxykonto des Masterservers hat, unter dem der Auftragsschritt ausgeführt wird.

Falls bei Auftragsschritten, die Proxykonten verwenden, beim Herunterladen vom Masterserver auf den Zielserver ein Fehler auftritt, können Sie die error_message-Spalte in der sysdownloadlist-Tabelle der msdb-Datenbank auf die folgenden Fehlermeldungen überprüfen:

  • "Für den Auftragsschritt ist ein Proxykonto erforderlich, das Proxyabgleichen ist auf dem Zielserver aber deaktiviert."

    Um diesen Fehler zu beheben, legen Sie den Registrierungsunterschlüssel AllowDownloadedJobsToMatchProxyName auf 1 fest.

  • "Proxy nicht gefunden."

    Um diesen Fehler zu beheben, stellen Sie sicher, dass auf dem Zielserver ein Proxykonto vorhanden ist, das den gleichen Namen wie das Proxykonto des Masterservers hat, unter dem der Auftragsschritt ausgeführt wird.