Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Managed Instance
Instruerar SQL Server Agent att stoppa exekveringen av ett jobb.
Transact-SQL syntaxkonventioner
Syntax
sp_stop_job
[ [ @job_name = ] N'job_name' ]
[ , [ @job_id = ] 'job_id' ]
[ , [ @originating_server = ] N'originating_server' ]
[ , [ @server_name = ] N'server_name' ]
[ ; ]
Arguments
[ @job_name = ] N'job_name'
Namnet på jobbet att sluta.
@job_name är sysname, med standardvärdet .NULL
[ @job_id = ] 'job_id'
Identifieringsnumret för jobbet för att sluta.
@job_id är unik identifierare, med standardvärdet .NULL
[ @originating_server = ] N'originating_server'
Namnet på den ursprungliga servern. Om angivna stoppas alla multiserverjobb.
@originating_server är sysname, med standardvärdet .NULL Ange denna parameter endast när du anropar sp_stop_job en målserver.
Funktionen Multi Server Administration (MSX/TSX) stöds inte på Azure SQL Managed Instance.
Anmärkning
Endast en av de tre första parametrarna kan specificeras.
[ @server_name = ] N'server_name'
Namnet på den specifika målservern där ett multiserverjobb ska stoppas.
@server_name är sysname, med standardvärdet .NULL Ange denna parameter endast när du anropar sp_stop_job en ursprungsserver för ett multiserverjobb.
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Resultatuppsättning
Ingen.
Anmärkningar
sp_stop_job skickar en stoppsignal till databasen. Vissa processer kan stoppas omedelbart och vissa måste nå en stabil punkt (eller en ingångspunkt till kodvägen) innan de kan stanna. Vissa långvariga Transact-SQL satser som BACKUP, RESTORE, och vissa DBCC kommandon kan ta lång tid att slutföra. När dessa kommandon körs kan det ta ett tag innan jobbet avbryts. Att stoppa ett jobb gör att en "Jobb avbrutet"-post registreras i jobbhistoriken.
Om ett jobb för närvarande kör ett steg av typen CmdExec eller PowerShell, tvingas processen som körs (till exempel MyProgram.exe) avsluta i förtid. Ett för tidigt avslut kan leda till oförutsägbart beteende, såsom filer som används av processen som hålls öppna. Därför bör endast sp_stop_job användas i extrema situationer om jobbet innehåller steg av typen CmdExec eller PowerShell.
Denna lagrade propud delar namnet på sp_stop_job med ett liknande objekt för Azure Elastic Jobs-tjänsten för Azure SQL Database. För information om elastic jobs-versionen, se jobs.sp_stop_job (Azure Elastic Jobs).
Permissions
Du kan ge EXECUTE behörigheter för denna procedur, men dessa behörigheter kan åsidosättas vid en SQL Server-uppgradering.
Andra användare måste tilldelas en av följande SQL Server Agent-fasta databasroller i databasen msdb :
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
För detaljer om behörigheterna för dessa roller, se SQL Server Agent Fixed Database Roles.
Medlemmar i SQLAgentUserRole och SQLAgentReaderRole kan endast stoppa jobb som de äger. Medlemmar i SQLAgentOperatorRole kan stoppa alla lokala jobb, inklusive jobb som ägs av andra användare. Medlemmar i systemadministratörer kan stoppa alla lokala och multiserverjobb.
Examples
Följande exempel stoppar ett jobb med namnet Weekly Sales Data Backup.
USE msdb;
GO
EXECUTE dbo.sp_stop_job N'Weekly Sales Data Backup';
GO