Erstellen eines AuftragsCreate a Job

Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceAnwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed Instance

Wichtig

In Azure SQL Managed Instance werden derzeit die meisten, aber nicht alle, SQL Server-Agent-Features unterstützt.On Azure SQL Managed Instance, most, but not all SQL Server Agent features are currently supported. Details dazu finden Sie unter T-SQL-Unterschiede zwischen Azure SQL Managed Instance und SQL Server.See Azure SQL Managed Instance T-SQL differences from SQL Server for details.

In diesem Thema wird beschrieben, wie Sie eine SQL Server-Agent-Auftragskategorie in SQL Server 2019 (15.x)SQL Server 2019 (15.x) mithilfe von SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL oder SQL Server Management Objects (SMO) erstellen können.This topic describes how to create a SQL Server Agent job in SQL Server 2019 (15.x)SQL Server 2019 (15.x) by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or SQL Server Management Objects (SMO).

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".To add job steps, schedules, alerts, and notifications that can be sent to operators, see the links to topics in the See Also section.

VorbereitungenBefore You Begin

EinschränkungenLimitations and Restrictions

  • Um einen Auftrag erstellen zu können, muss ein Benutzer Mitglied einer der festen Datenbankrollen des SQL ServerSQL Server -Agents oder Mitglied der festen Serverrolle sysadmin sein.To create a job, a user must be a member of one of the SQL ServerSQL Server Agent fixed database roles or the sysadmin fixed server role. Ein Auftrag kann nur von seinem Besitzer bzw. Mitgliedern der sysadmin -Rolle bearbeitet werden.A job can be edited only by its owner or members of the sysadmin role. Weitere Informationen zu den festen Datenbankrollen des SQL ServerSQL Server -Agents finden Sie unter Feste Datenbankrollen des SQL Server-Agents.For more information about the SQL ServerSQL Server Agent fixed database roles, see SQL Server Agent Fixed Database Roles.

  • Wenn Sie einen Auftrag einem anderen Anmeldenamen zuweisen, ist nicht sichergestellt, dass die Berechtigungen des neuen Besitzers zum erfolgreichen Ausführen des Auftrags ausreichen.Assigning a job to another login does not guarantee that the new owner has sufficient permission to run the job successfully.

  • Lokale Aufträge werden vom lokalen SQL ServerSQL Server -Agent zwischengespeichert.Local jobs are cached by the local SQL ServerSQL Server Agent. Aus diesem Grund erzwingen alle Änderungen implizit das erneute Zwischenspeichern des Auftrags durch den SQL ServerSQL Server -Agent.Therefore, any modifications implicitly force SQL ServerSQL Server Agent to re-cache the job. Da der SQL ServerSQL Server -Agent den Auftrag erst zwischenspeichert, wenn sp_add_jobserver aufgerufen wird, ist es effizienter, sp_add_jobserver zuletzt aufzurufen.Because SQL ServerSQL Server Agent does not cache the job until sp_add_jobserver is called, it is more efficient to call sp_add_jobserver last.

SicherheitSecurity

  • Den Besitzer eines Auftrags können Sie nur ändern, wenn Sie als Systemadministrator angemeldet sind.You must be a system administrator to change the owner of a job.

  • Aus Sicherheitsgründen kann nur der Auftragsbesitzer bzw. ein Mitglied der sysadmin -Rolle die Definition des Auftrags ändern.For security reasons, only the job owner or a member of the sysadmin role can change the definition of the job. 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.Only members of the sysadmin fixed server role can assign job ownership to other users, and they can run any job, regardless of the job owner.

    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 SSISSSIS -Paketausführung), müssen Sie sicherstellen, dass der Benutzer auf dieses Proxykonto zugreifen kann. Andernfalls schlägt der Auftrag fehl.If you change job ownership to a user who is not a member of the sysadmin fixed server role, and the job is executing job steps that require proxy accounts (for example, SSISSSIS package execution), make sure that the user has access to that proxy account or else the job will fail.

BerechtigungenPermissions

Ausführliche Informationen finden Sie unter Implementieren der SQL Server-Agent-Sicherheit.For detailed information, see Implement SQL Server Agent Security.

Verwenden von SQL Server Management StudioUsing SQL Server Management Studio

So erstellen Sie einen Auftrag für den SQL Server-AgentTo create a SQL Server Agent job

  1. Klicken Sie im Objekt-Explorerauf das Pluszeichen, um den Server zu erweitern, auf dem Sie den SQL Server-Agent-Auftrag erstellen möchten.In the Object Explorer, click the plus sign to expand the server where you want to create a SQL Server Agent job.

  2. Klicken Sie auf das Pluszeichen, um SQL Server-Agentzu erweitern.Click the plus sign to expand SQL Server Agent.

  3. Klicken Sie mit der rechten Maustaste auf den Ordner Aufträge, und wählen Sie dann Neuer Auftragaus.Right-click the Jobs folder and select New Job....

  4. Ändern Sie im Dialogfeld Neuer Auftrag auf der Seite Allgemein die allgemeinen Eigenschaften des Auftrags.In the New Job dialog box, on the General page, modify the general properties of the job. Weitere Informationen zu den verfügbaren Optionen auf dieser Seite finden Sie unter Auftragseigenschaften – Neuer Auftrag (Seite „Allgemein“).For more information on the available options on this page, see Job Properties - New Job (General Page)

  5. Organisieren Sie die Auftragsschritte auf der Seite Schritte .On the Steps page, organize the job steps. Weitere Informationen zu den verfügbaren Optionen auf dieser Seite finden Sie unter Auftragseigenschaften – Neuer Auftrag (Seite „Schritte“).For more information on the available options on this page, see Job Properties - New Job (Steps Page)

  6. Organisieren Sie auf der Seite Zeitpläne Zeitpläne für den Auftrag.On the Schedules page, organize schedules for the job. Weitere Informationen zu den verfügbaren Optionen auf dieser Seite finden Sie unter Auftragseigenschaften – Neuer Auftrag (Seite „Zeitpläne“).For more information on the available options on this page, see Job Properties - New Job (Schedules Page)

  7. Organisieren Sie auf der Seite Warnungen die Warnungen für den Auftrag.On the Alerts page, organize the alerts for the job. Weitere Informationen zu den verfügbaren Optionen auf dieser Seite finden Sie unter Auftragseigenschaften – Neuer Auftrag (Seite „Warnungen“).For more information on the available options on this page, see Job Properties - New Job (Alerts Page)

  8. Legen Sie auf der Seite Benachrichtigungen die Aktionen für den MicrosoftMicrosoft SQL ServerSQL Server-Agent fest, die bei Abschluss des Auftrags auszuführen sind.On the Notifications page, set actions for MicrosoftMicrosoft SQL ServerSQL Server Agent to perform when the job completes. Weitere Informationen zu den verfügbaren Optionen auf dieser Seite finden Sie unter Auftragseigenschaften – Neuer Auftrag (Seite „Benachrichtigungen“).For more information on the available options on this page, see Job Properties - New Job (Notifications Page).

  9. Verwalten Sie auf der Seite Ziele die Zielserver für den Auftrag.On the Targets page, manage the target servers for the job. Weitere Informationen zu den verfügbaren Optionen auf dieser Seite finden Sie unter Auftragseigenschaften – Neuer Auftrag (Seite „Ziele“).For more information on the available options on this page, see Job Properties - New Job (Targets Page).

  10. Wenn Sie fertig sind, klicken Sie auf OK.When finished, click OK.

Verwenden von Transact-SQLUsing Transact-SQL

So erstellen Sie einen Auftrag für den SQL Server-AgentTo create a SQL Server Agent job

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-EngineDatabase Engine-Instanz her.In Object Explorer, connect to an instance of Datenbank-EngineDatabase Engine.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.On the Standard bar, click New Query.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.Copy and paste the following example into the query window and click Execute.

    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 unterFor more information, see:

Verwendung von SQL Server Management ObjectsUsing SQL Server Management Objects

So erstellen Sie einen Auftrag für den SQL Server-AgentTo create a SQL Server Agent job

Rufen Sie die Create -Methode der Job -Klasse in einer Programmiersprache Ihrer Wahl auf, z. B. Visual Basic, Visual C# oder PowerShell.Call the Create method of the Job class by using a programming language that you choose, such as Visual Basic, Visual C#, or PowerShell. Beispielcode hierzu finden Sie unter Planen von automatischen, administrativen Tasks im SQL Server-Agent.For example code, see Scheduling Automatic Administrative Tasks in SQL Server Agent.