sp_stop_job (Transact-SQL)
Bildirir SQL Server Bir iş yürütülmesini durdurmak için aracı.
sp_stop_job
[@job_name =] 'job_name'
| [@job_id =] job_id
| [@originating_server =] 'master_server'
| [@server_name =] 'target_server'
Bağımsız değişkenler
[ @job_name =] 'job_name'
The name of the job to stop.job_name is sysname, with a default of NULL.[ @job_id =] job_id
The identification number of the job to stop.job_id is uniqueidentifier, with a default of NULL.[ @originating_server =] 'master_server'
Ana sunucu adı.If specified, all multiserver jobs are stopped.master_server is nvarchar(128), with a default of NULL.Bu parametre yalnızca çağrılırken belirtin. sp_stop_job at a hedef sunucu.Not
Ilk üç parametrelerden yalnızca biri belirtilebilir.
[ @server_name =] 'target_server'
The name of the specific target server on which to stop a multiserver job.target_server is nvarchar(128), with a default of NULL.Bu parametre yalnızca çağrılırken belirtin. sp_stop_job ana sunucu bir çoklu sunucu iş.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (hata)
Sonuç Kümeleri
None
Remarks
Ne zaman SQL Server Aracısını durdurma bildirim aldığında, bunu, iptal isteğini işler önce bitecek şekilde çalışmakta olan iş adım için bekler. Bazı uzun süredir çalışan Transact-SQL yedek, geri yükleme ve bazı DBCC komutlarını ifadeleri tamamlanması uzun sürebilir. Bunlar çalışırken, biraz önce sürebilir iş iptal edildi.Durdurma bir iş bir "iş iptal edildi" girdisi, kaydedilecek neden iş geçmiş.
Bir iş türü bir adım şu anda yürütülüyorsa CmdExec or PowerShell, çalışan işlem (örneğin, MyProgram.exe) zamanından önce sona erdirmek için zorlanır.Erken bitirme açık tutulan bir işlem tarafından kullanılmakta olan dosyalar gibi öngörülemeyen davranışlara sonuçlanabilir.Sonuç olarak, sp_stop_job türü adımları iş içeriyorsa, yalnızca aşırı durumlarda kullanılmalıdırCmdExec or PowerShell.
İzinler
Varsayılan olarak, üye sysadmin sunucu rolünü can sabit yürütmek Bu saklı yordamını.Aşağıdakilerden birini diğer kullanıcılara verilmelidir SQL Server Veritabanı rollerini sabit Aracısı msdb veritabanı:
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
Bu roller, izinler hakkında daha fazla bilgi için bkz: SQL Server Agent Database Roles sabit.
Üyeleri SQLAgentUserRole and SQLAgentReaderRole , yalnızca sahip oldukları işleri durdurabilirsiniz.Üyeleri SQLAgentOperatorRole başka kullanıcılara ait olanlar da dahil olmak üzere tüm yerel işleri durdurabilirsiniz.Üyeleri sysadmin tüm yerel ve çoklu sunucu işleri durdurabilirsiniz.
Örnekler
Aşağıdaki örnek adında bir işi durur. Weekly Sales Data Backup.
USE msdb ;
GO
EXEC dbo.sp_stop_job
N'Weekly Sales Data Backup' ;
GO