Aracılığıyla paylaş


sp_stop_job (Transact-SQL)

Bildirir SQL Server Bir iş yürütülmesini durdurmak için aracı.

Topic link iconTransact-SQL sözdizimi kuralları

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