Exportieren (0) Drucken
Alle erweitern
Erweitern Minimieren
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

sp_stop_job (Transact-SQL)

Weist den SQL Server-Agent an, die Ausführung des Auftrags zu beenden.

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version).

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

sp_stop_job 
      [@job_name =] 'job_name'
    | [@job_id =] job_id 
    | [@originating_server =] 'master_server'
    | [@server_name =] 'target_server'

[ @job_name =] 'job_name'

Der Name des Auftrags, der beendet werden soll. job_name ist vom Datentyp sysname. Der Standardwert ist NULL.

[ @job_id =] job_id

Die ID des Auftrags, der beendet werden soll. job_id ist vom Datentyp uniqueidentifier. Der Standardwert ist NULL.

[ @originating_server =] 'master_server'

Der Name des Masterservers. Wenn angegeben, werden alle Multiserveraufträge beendet. master_server ist vom Datentyp nvarchar(128). Der Standardwert ist NULL. Geben Sie diesen Parameter nur an, wenn Sie sp_stop_job auf einem Zielserver aufrufen.

Hinweis Hinweis

Es kann jeweils nur einer der ersten drei Parameter angegeben werden.

[ @server_name =] 'target_server'

Der Name des Zielservers, auf dem ein Multiserverauftrag beendet werden soll. target_server ist vom Datentyp nvarchar(128). Der Standardwert ist NULL. Geben Sie diesen Parameter nur an, wenn Sie sp_stop_job auf einem Masterserver für einen Multiserverauftrag aufrufen.

0 (Erfolg) oder 1 (Fehler)

Wenn der SQL Server-Agent die Beendigungsbenachrichtigung empfängt, wartet er den Abschluss des aktuell bearbeiteten Auftragsschritts ab, bevor er die Abbruchanforderung bearbeitet. Bei einigen zeitaufwändigen Transact-SQL-Anweisungen, etwa BACKUP, RESTORE oder einigen DBCC-Befehlen, kann es längere Zeit dauern, bis sie abgeschlossen sind. Wenn diese Anweisungen ausgeführt werden, dauert es möglicherweise einige Zeit, bis der Auftrag abgebrochen wird. Der Abbruch eines Auftrags führt dazu, dass ein entsprechender Eintrag im Auftragsverlauf aufgezeichnet wird.

Wenn ein Auftrag aktuell einen Schritt des Typs CmdExec oder PowerShell ausführt, wird der ausgeführte Prozess (z. B. Programm.exe) vorzeitig beendet. Ein vorzeitiger Abbruch kann unvorhersehbare Folgen haben, z. B. dass Dateien, die von dem Prozess verwendet wurden, geöffnet bleiben. Deshalb sollte sp_stop_job nur in Ausnahmesituationen verwendet werden, falls der Auftrag Schritte des Typs CmdExec oder PowerShell enthält.

Standardmäßig können nur Mitglieder der festen Serverrolle sysadmin diese gespeicherte Prozedur ausführen. Anderen Benutzern muss eine der folgenden festen Datenbankrollen des SQL Server-Agents in der msdb-Datenbank zugewiesen werden:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Weitere Informationen zu den Berechtigungen dieser Rollen finden Sie unter Feste Datenbankrollen des SQL Server-Agents.

Mitglieder von SQLAgentUserRole und SQLAgentReaderRole können nur die Aufträge beenden, deren Besitzer sie sind. Mitglieder von SQLAgentOperatorRole können alle lokalen Aufträge einschließlich der Aufträge beenden, die sich im Besitz anderer Benutzer befinden. Mitglieder der sysadmin-Rolle können alle lokalen und Multiserveraufträge beenden.

Im folgenden Beispiel wird der Auftrag Weekly Sales Data Backup beendet.

USE msdb ;
GO

EXEC dbo.sp_stop_job
    N'Weekly Sales Data Backup' ;
GO

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2015 Microsoft