Erstellen eines Transact-SQL-AuftragsschrittsCreate a Transact-SQL Job Step

In diesem Thema wird beschrieben, wie Sie einen Auftragsschritt des MicrosoftMicrosoft SQL ServerSQL Server -Agents, der Transact-SQLTransact-SQL - Skripts in SQL Server 2017SQL Server 2017 mithilfe von SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQLoder SQL Server Management Objects ausführt, erstellen können.This topic describes how to create a MicrosoftMicrosoft SQL ServerSQL Server Agent job step that executes Transact-SQLTransact-SQL scripts in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or SQL Server Management Objects.

Diese Auftragsschrittskripts können gespeicherte Prozeduren und erweiterte gespeicherte Prozeduren aufrufen.These job step scripts may call stored procedures and extended stored procedures. Ein einzelner Transact-SQLTransact-SQL -Auftragsschritt kann mehrere Batches und eingebettete GO-Befehle enthalten.A single Transact-SQLTransact-SQL job step can contain multiple batches and embedded GO commands. Weitere Informationen zum Erstellen eines Auftrags finden Sie unter Erstellen von Aufträgen.For more information on creating a job, see Creating Jobs.

In diesem ThemaIn This Topic

VorbereitungenBefore You Begin

SecuritySecurity

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

Verwenden von SQL Server Management StudioUsing SQL Server Management Studio

So erstellen Sie einen Transact-SQL-AuftragsschrittTo create a Transact-SQL job step

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von SQL Server-DatenbankmodulSQL Server Database Engineher, und erweitern Sie dann diese Instanz.In Object Explorer, connect to an instance of the SQL Server-DatenbankmodulSQL Server Database Engine, and then expand that instance.

  2. Erweitern Sie SQL Server-Agent, erstellen Sie einen neuen Auftrag, oder klicken Sie mit der rechten Maustaste auf einen vorhandenen Auftrag, und klicken Sie dann auf Eigenschaften.Expand SQL Server Agent, create a new job or right-click an existing job, and then click Properties.

  3. Klicken Sie im Dialogfeld Auftragseigenschaften auf die Seite Schritte und dann auf Neu.In the Job Properties dialog, click the Steps page, and then click New.

  4. Geben Sie im Dialogfeld Neuer Auftragsschritt unter Schrittnameeinen Schrittnamen für den Auftrag ein.In the New Job Step dialog, type a job Step name.

  5. Klicken Sie in der Liste Typ auf Transact-SQL-Skript (TSQL).In the Type list, click Transact-SQL Script (TSQL).

  6. Geben Sie im Feld Befehl die Transact-SQLTransact-SQL -Befehlsbatches ein, oder klicken Sie auf Öffnen , um eine Transact-SQLTransact-SQL -Datei auszuwählen, die als Befehl verwendet werden soll.In the Command box, type the Transact-SQLTransact-SQL command batches, or click Open to select a Transact-SQLTransact-SQL file to use as the command.

  7. Klicken Sie auf Analysieren , um die Syntax zu überprüfen.Click Parse to check your syntax.

  8. Wenn die Syntax richtig ist, wird die Meldung "Analyse erfolgreich" angezeigt.The message "Parse succeeded" is displayed when your syntax is correct. Wenn ein Fehler gefunden wird, müssen Sie die Syntax korrigieren, bevor Sie den Vorgang fortsetzen.If an error is found, correct the syntax before continuing.

  9. Klicken Sie auf die Seite Erweitert , um Optionen für Auftragsschritte festzulegen, z. B. welche Aktion ausgeführt werden soll, wenn ein Auftragsschritt erfolgreich ausgeführt wird oder einen Fehler erzeugt, wie häufig der SQL ServerSQL Server -Agent versuchen soll, den Auftragsschritt auszuführen, und in welche Datei oder Tabelle der SQL ServerSQL Server -Agent die Auftragsschrittausgabe schreiben soll.Click the Advanced page to set job step options, such as: what action to take if the job step succeeds or fails, how many times SQL ServerSQL Server Agent should try to execute the job step, and the file or table where SQL ServerSQL Server Agent can write the job step output. Nur Mitglieder der festen Serverrolle sysadmin können die Auftragsschrittausgabe in eine Betriebssystemdatei schreiben.Only members of the sysadmin fixed server role can write job step output to an operating system file. Alle Benutzer des SQL Server-Agents können die Ausgabe in einer Tabelle protokollieren.All SQL Server Agent users can log output to a table.

  10. Wenn Sie ein Mitglied der festen Serverrolle sysadmin sind und diesen Auftragsschritt unter einem anderen SQL-Anmeldenamen ausführen möchten, wählen Sie den SQL-Anmeldenamen in der Liste Ausführen als Benutzer aus.If you are a member of the sysadmin fixed server role and you want to run this job step as a different SQL login, select the SQL login from the Run as user list.

Verwenden von Transact-SQLUsing Transact-SQL

So erstellen Sie einen Transact-SQL-AuftragsschrittTo create a Transact-SQL job step

  1. Stellen Sie im Objekt-Explorereine Verbindung mit einer DatenbankmodulDatabase Engine-Instanz her.In Object Explorer, connect to an instance of DatenbankmodulDatabase 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.

    -- creates a job step that that uses Transact-SQL  
    USE msdb;  
    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  
    

Weitere Informationen finden Sie unter sp_add_jobstep (Transact-SQL).For more information, see sp_add_jobstep (Transact-SQL).

Verwendung von SQL Server Management ObjectsUsing SQL Server Management Objects

So erstellen Sie einen Transact-SQL-AuftragsschrittTo create a Transact-SQL job step

Verwenden Sie die JobStep -Klasse indem Sie eine von Ihnen ausgewählte Programmiersprache, z. B. Visual Basic, Visual C# oder PowerShell verwenden.Use the JobStep class by using a programming language that you choose, such as Visual Basic, Visual C#, or PowerShell.