Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server unter Linux
SQL Server Aufträge werden verwendet, um regelmäßig dieselbe Reihenfolge von Befehlen in Ihrer SQL Server-Datenbank auszuführen. Dieses Lernprogramm enthält ein Beispiel zum Erstellen eines SQL Server-Agent Auftrags unter Linux mit Transact-SQL und SQL Server Management Studio (SSMS).
- Installieren von SQL Server-Agent unter Linux
- Erstellen eines neuen Auftrags zum Ausführen täglicher Datenbanksicherungen
- Planen und Ausführen des Auftrags
- Ausführen der gleichen Schritte in SSMS (optional)
Bekannte Probleme mit SQL Server-Agent unter Linux finden Sie unter SQL Server für Linux: Bekannte Probleme.
Voraussetzungen
Zur Durchführung dieses Tutorials ist Folgendes erforderlich:
Ein Linux-Computer, der folgende Voraussetzungen erfüllt:
- Quickstart: Installieren SQL Server und Erstellen einer Datenbank unter Red Hat Enterprise Linux
- Quickstart: Installieren SQL Server und Erstellen einer Datenbank auf SUSE Linux Enterprise Server
- Quickstart: Installieren Sie SQL Server, und erstellen Sie eine Datenbank auf Ubuntu mit Befehlszeilentools.
Hinweis
Ab SQL Server 2025 (17.x) wird SUSE Linux Enterprise Server (SLES) nicht unterstützt.
Die folgenden Voraussetzungen sind optional:
- Windows Computer mit SSMS:
- Install SQL Server Management Studio für optionale SSMS-Schritte.
Aktivieren von SQL Server-Agent
Um SQL Server-Agent unter Linux zu verwenden, müssen Sie zuerst SQL Server-Agent auf einem Computer aktivieren, auf dem bereits SQL Server installiert ist.
Führen Sie den folgenden Befehl aus, um SQL Server-Agent zu aktivieren.
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled trueStarten Sie SQL Server mit dem folgenden Befehl neu:
sudo systemctl restart mssql-server
Hinweis
Ab SQL Server 2017 (14.x) CU 4 ist SQL Server-Agent im paket mssql-server enthalten und ist standardmäßig deaktiviert. Informationen zum Einrichten des Agents vor CU 4 finden Sie unter Install SQL Server-Agent unter Linux.
Erstellen einer Beispieldatenbank
Führen Sie die folgenden Schritte aus, um eine Beispieldatenbank mit dem Namen SampleDB zu erstellen. Diese Datenbank wird für den täglichen Sicherungsauftrag verwendet.
Öffnen Sie auf Ihrem Linux-Computer eine Bash-Terminalsitzung.
Verwenden Sie sqlcmd, um einen befehl Transact-SQL
CREATE DATABASEauszuführen./opt/mssql-tools/bin/sqlcmd -S localhost -U sa -Q 'CREATE DATABASE SampleDB'Überprüfen Sie, ob die Datenbank erstellt wurde, indem Sie die Datenbanken auf dem Server auflisten.
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -Q 'SELECT name FROM sys.databases'
Erstellen eines Auftrags mit Transact-SQL
Die folgenden Schritte erstellen einen SQL Server-Agent Auftrag unter Linux mit Transact-SQL Befehlen. Der Auftrag führt eine tägliche Sicherung der Beispieldatenbank SampleDB aus.
Tipp
Sie können einen beliebigen T-SQL-Client verwenden, um diese Befehle auszuführen. Beispielsweise können Sie unter Linux Installieren Sie die sqlcmd- und bcp-SQL Server Befehlszeilentools unter Linux oder SQL Server Erweiterung für Visual Studio Code verwenden. Über eine Remote-Windows Server können Sie auch Abfragen in SQL Server Management Studio (SSMS) ausführen oder die Benutzeroberfläche für die Auftragsverwaltung verwenden, die im nächsten Abschnitt beschrieben wird.
Führen Sie sp_add_job aus, um einen Auftrag namens
Daily SampleDB Backupzu erstellen.-- Adds a new job executed by the SQLServerAgent service -- called 'Daily SampleDB Backup' USE msdb; GO EXECUTE dbo.sp_add_job @job_name = N'Daily SampleDB Backup'; GORufen Sie sp_add_jobstep auf, um einen Auftragsschritt zu erstellen, der eine Sicherung der
SampleDB-Datenbank erstellt.EXECUTE sp_add_jobstep @job_name = N'Daily SampleDB Backup', @step_name = N'Backup database', @subsystem = N'TSQL', @command = N'BACKUP DATABASE SampleDB TO DISK = \ N''/var/opt/mssql/data/SampleDB.bak'' WITH NOFORMAT, NOINIT, \ NAME = ''SampleDB-full'', SKIP, NOREWIND, NOUNLOAD, STATS = 10', @retry_attempts = 5, @retry_interval = 5; GOErstellen Sie dann mit sp_add_schedule einen täglichen Zeitplan für Ihren Auftrag.
-- Creates a schedule called 'Daily' EXECUTE dbo.sp_add_schedule @schedule_name = N'Daily SampleDB', @freq_type = 4, @freq_interval = 1, @active_start_time = 233000; USE msdb; GOFügen Sie mit sp_attach_schedule den Auftragszeitplan dem Auftrag an.
-- Sets the 'Daily' schedule to the 'Daily SampleDB Backup' Job EXECUTE sp_attach_schedule @job_name = N'Daily SampleDB Backup', @schedule_name = N'Daily SampleDB'; GOVerwenden Sie sp_add_jobserver, um den Auftrag einem Zielserver zuzuweisen. In diesem Beispiel ist das Ziel der lokale Server.
EXECUTE dbo.sp_add_jobserver @job_name = N'Daily SampleDB Backup', @server_name = N'(local)'; GOStarten Sie den Auftrag mit sp_start_job.
EXECUTE dbo.sp_start_job N' Daily SampleDB Backup'; GO
Erstellen eines Jobs mit SSMS
Sie können Aufträge auch remote mithilfe von SQL Server Management Studio (SSMS) auf Windows erstellen und verwalten.
Starten Sie SSMS auf Windows, und stellen Sie eine Verbindung mit Ihrer Linux-SQL Server-Instanz her. Weitere Informationen finden Sie unter Use SQL Server Management Studio on Windows to manage SQL Server für Linux.
Bestätigen Sie, dass Sie eine Beispieldatenbank mit dem Namen
SampleDBerstellt haben.Vergewissern Sie sich, dass der SQL-Agent Install-SQL Server-Agent unter Linux war und ordnungsgemäß konfiguriert wurde. Suchen Sie im Objekt-Explorer nach dem Pluszeichen neben SQL Server-Agent. Wenn SQL Server-Agent nicht aktiviert ist, starten Sie den dienst mssql-server unter Linux neu.
Erstellen Sie eine neue Stelle.
Geben Sie Ihrem Auftrag einen Namen, und erstellen Sie den Auftragsschritt.
Geben Sie an, welches Subsystem Sie verwenden möchten, und was der Auftragsschritt ausführen soll.
Erstellen Sie einen neuen Auftragszeitplan.
Starten Sie Ihren Job.
Screenshot, der zeigt, wie der SQL Server-Agent-Job gestartet wird.
Nächster Schritt
In diesem Tutorial haben Sie Folgendes gelernt:
- Installieren von SQL Server-Agent unter Linux
- Verwenden von Transact-SQL und gespeicherten Systemprozeduren zum Erstellen von Aufträgen
- Erstellen eines Auftrags, der tägliche Datenbanksicherungen ausführt
- Verwenden der SSMS-Benutzeroberfläche zum Erstellen und Verwalten von Aufträgen
Lernen Sie als nächstes weitere Möglichkeiten zum Erstellen und Verwalten von Aufträgen kennen: