Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Managed Instance
Instruuje SQL Server Agent, aby zastavil spuštění úlohy.
Syntaxe
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'
Název práce je zastavit.
@job_name je sysname s výchozím nastavením NULL.
[ @job_id = ] 'job_id'
Identifikační číslo práce k zastavení.
@job_id je uniqueidentifier, s výchozím nastavením NULL.
[ @originating_server = ] N'originating_server'
Název původního serveru. Pokud je to specifikováno, všechny multiserverové úlohy jsou zastaveny.
@originating_server je sysname s výchozím nastavením NULL. Tento parametr specifikujte pouze při volání sp_stop_job na cílovém serveru.
Funkce Multi Server Administration (MSX/TSX) není v Azure SQL Managed Instance podporována.
Poznámka:
Lze specifikovat pouze jeden z prvních tří parametrů.
[ @server_name = ] N'server_name'
Název konkrétního cílového serveru, na kterém se zastaví multiserverová práce.
@server_name je sysname s výchozím nastavením NULL. Tento parametr specifikujte pouze při volání sp_stop_job na původním serveru pro multiserverovou úlohu.
Hodnoty návratového kódu
0 (úspěch) nebo 1 (selhání).
Sada výsledků
Žádné.
Poznámky
sp_stop_job Posílá do databáze signál zastavení. Některé procesy lze zastavit okamžitě, jiné musí dosáhnout stabilního bodu (nebo vstupního bodu do cesty kódu), než se mohou zastavit. Některé dlouhotrvající Transact-SQL příkazy, BACKUPjako , RESTORE, a některé DBCC příkazy mohou trvat dlouho, než se dokončí. Když tyto příkazy běží, může chvíli trvat, než se úkol zruší. Zastavení práce způsobí, že se v historii práce zaznamená záznam "Práce zrušena".
Pokud úloha právě vykonává krok typu CmdExec nebo PowerShell, proces spouštěný (například MyProgram.exe) musí být předčasně ukončen. Předčasné ukončení může vést k nepředvídatelnému chování, například že soubory používané procesem jsou udržovány otevřené. Proto by měl být použit sp_stop_job pouze v extrémních případech, pokud úloha obsahuje kroky typu CmdExec nebo PowerShell.
Tato uložená procedura sdílí název s sp_stop_job podobným objektem pro službu Azure Elastic Jobs pro Azure SQL Database. Informace o verzi elastic jobs najdete v jobs.sp_stop_job (Azure Elastic Jobs).
Povolení
Na tomto postupu můžete udělit EXECUTE oprávnění, ale tato oprávnění mohou být během upgradu SQL Serveru přepsána.
Ostatní uživatelé musí mít v databázi msdb přiděleny některé z následujících pevných databázových rolí SQL Server Agent:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Podrobnosti o oprávněních těchto rolí naleznete v SQL Server Agent Fixed Database Roles.
Členové SQLAgentUserRole a SQLAgentReaderRole mohou zastavit pouze práce, které vlastní. Členové SQLAgentOperatorRole mohou zastavit všechny lokální úlohy, včetně těch, které vlastní jiní uživatelé. Členové správce systému mohou zastavit všechny lokální i multiserverové úkoly.
Examples
Následující příklad zastaví úkol s názvem Weekly Sales Data Backup.
USE msdb;
GO
EXECUTE dbo.sp_stop_job N'Weekly Sales Data Backup';
GO