Erstellen eines Auftrags

Gilt für:SQL ServerAzure SQL Managed Instance

Wichtig

In Azure SQL Managed Instance werden derzeit die meisten, aber nicht alle, SQL Server-Agent-Features unterstützt. Details dazu finden Sie unter T-SQL-Unterschiede zwischen Azure SQL Managed Instance und SQL Server.

In diesem Artikel wird beschrieben, wie Sie einen SQL Server-Agent-Auftrag in SQL Server mithilfe von SQL Server Management Studio, Transact-SQL oder SQL Server Management Objects erstellen.

Informationen zum Hinzufügen von Auftragsschritten, Zeitplänen, Warnungen und Benachrichtigungen, die an Benutzer gesendet werden können, finden Sie in den Links im Abschnitt "Siehe auch".

Vorbereitungen

Einschränkungen

  • Um einen Auftrag erstellen zu können, muss ein Benutzer Mitglied einer der festen Datenbankrollen des SQL Server -Agents oder Mitglied der festen Serverrolle sysadmin sein. Ein Auftrag kann nur von seinem Besitzer bzw. Mitgliedern der sysadmin -Rolle bearbeitet werden. Weitere Informationen zu den festen Datenbankrollen des SQL Server -Agents finden Sie unter Feste Datenbankrollen des SQL Server-Agents.

  • Wenn Sie einen Auftrag einem anderen Anmeldenamen zuweisen, ist nicht sichergestellt, dass die Berechtigungen des neuen Besitzers zum erfolgreichen Ausführen des Auftrags ausreichen.

  • Lokale Aufträge werden vom lokalen SQL Server -Agent zwischengespeichert. Aus diesem Grund erzwingen alle Änderungen implizit das erneute Zwischenspeichern des Auftrags durch den SQL Server -Agent. Da der SQL Server -Agent den Auftrag erst zwischenspeichert, wenn sp_add_jobserver aufgerufen wird, ist es effizienter, sp_add_jobserver zuletzt aufzurufen.

Sicherheit

  • Den Besitzer eines Auftrags können Sie nur ändern, wenn Sie als Systemadministrator angemeldet sind.

  • Aus Sicherheitsgründen kann nur der Auftragsbesitzer bzw. ein Mitglied der sysadmin -Rolle die Definition des Auftrags ändern. Nur Mitglieder der festen Serverrolle sysadmin können anderen Benutzern den Auftragsbesitz zuweisen. Zudem können sie unabhängig vom Auftragsbesitzer alle Aufträge ausführen.

    Hinweis

    Wenn Sie den Auftragsbesitz einem Benutzer zuweisen, der kein Mitglied der festen Serverrolle sysadmin ist, und wenn in dem Auftrag Schritte ausgeführt werden, für die Proxykonten erforderlich sind (beispielsweise die SSIS -Paketausführung), müssen Sie sicherstellen, dass der Benutzer auf dieses Proxykonto zugreifen kann. Andernfalls schlägt der Auftrag fehl.

Berechtigungen

Ausführliche Informationen finden Sie unter Implementieren der SQL Server-Agent-Sicherheit.

Verwendung von SQL Server Management Studio

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

  1. Klicken Sie im Objekt-Explorerauf das Pluszeichen, um den Server zu erweitern, auf dem Sie den SQL Server-Agent-Auftrag erstellen möchten.

  2. Klicken Sie auf das Pluszeichen, um SQL Server-Agentzu erweitern.

  3. Klicken Sie mit der rechten Maustaste auf den Ordner Aufträge, und wählen Sie dann Neuer Auftragaus.

  4. Ändern Sie im Dialogfeld Neuer Auftrag auf der Seite Allgemein die allgemeinen Eigenschaften des Auftrags. Weitere Informationen zu den verfügbaren Optionen auf dieser Seite finden Sie unter Auftragseigenschaften – Neuer Auftrag (Seite „Allgemein“).

  5. Organisieren Sie die Auftragsschritte auf der Seite Schritte . Weitere Informationen zu den verfügbaren Optionen auf dieser Seite finden Sie unter Auftragseigenschaften – Neuer Auftrag (Seite „Schritte“).

  6. Organisieren Sie auf der Seite Zeitpläne Zeitpläne für den Auftrag. Weitere Informationen zu den verfügbaren Optionen auf dieser Seite finden Sie unter Auftragseigenschaften – Neuer Auftrag (Seite „Zeitpläne“).

  7. Organisieren Sie auf der Seite Warnungen die Warnungen für den Auftrag. Weitere Informationen zu den verfügbaren Optionen auf dieser Seite finden Sie unter Auftragseigenschaften – Neuer Auftrag (Warnungsseite).

  8. Legen Sie auf der Seite Benachrichtigungen die Aktionen für den Microsoft SQL Server-Agent fest, die bei Abschluss des Auftrags auszuführen sind. Weitere Informationen zu den verfügbaren Optionen auf dieser Seite finden Sie unter Auftragseigenschaften – Neuer Auftrag (Seite „Benachrichtigungen“).

  9. Verwalten Sie auf der Seite Ziele die Zielserver für den Auftrag. Weitere Informationen zu den verfügbaren Optionen auf dieser Seite finden Sie unter Auftragseigenschaften – Neuer Auftrag (Seite „Ziele“).

  10. Wenn Sie fertig sind, klicken Sie auf OK.

Verwenden von Transact-SQL

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

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.

    USE msdb ;  
    GO  
    EXEC dbo.sp_add_job  
        @job_name = N'Weekly Sales Data Backup' ;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Set database to read only',  
        @subsystem = N'TSQL',  
        @command = N'ALTER DATABASE SALES SET READ_ONLY',   
        @retry_attempts = 5,  
        @retry_interval = 5 ;  
    GO  
    EXEC dbo.sp_add_schedule  
        @schedule_name = N'RunOnce',  
        @freq_type = 1,  
        @active_start_time = 233000 ;  
    USE msdb ;  
    GO  
    EXEC sp_attach_schedule  
       @job_name = N'Weekly Sales Data Backup',  
       @schedule_name = N'RunOnce';  
    GO  
    EXEC dbo.sp_add_jobserver  
        @job_name = N'Weekly Sales Data Backup';  
    GO  
    

Weitere Informationen finden Sie unter

Verwendung von SQL Server Management Objects

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

Rufen Sie die Create -Methode der Job -Klasse in einer Programmiersprache Ihrer Wahl auf, z. B. Visual Basic, Visual C# oder PowerShell. Beispielcode hierzu finden Sie unter Planen von automatischen, administrativen Tasks im SQL Server-Agent.