Aracılığıyla paylaş


sp_update_jobstep (Transact-SQL)

Bir adımda otomatik etkinlikler gerçekleştirmek için kullanılan bir iş ayarını değiştirir.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

sp_update_jobstep 
     {   [@job_id =] job_id 
       | [@job_name =] 'job_name' } ,
     [@step_id =] step_id
     [ , [@step_name =] 'step_name' ]
     [ , [@subsystem =] 'subsystem' ] 
     [ , [@command =] 'command' ]
     [ , [@additional_parameters =] 'parameters' ]
     [ , [@cmdexec_success_code =] success_code ]
     [ , [@on_success_action =] success_action ] 
     [ , [@on_success_step_id =] success_step_id ]
     [ , [@on_fail_action =] fail_action ] 
     [ , [@on_fail_step_id =] fail_step_id ]
     [ , [@server =] 'server' ] 
     [ , [@database_name =] 'database' ]
     [ , [@database_user_name =] 'user' ] 
     [ , [@retry_attempts =] retry_attempts ]
     [ , [@retry_interval =] retry_interval ] 
     [ , [@os_run_priority =] run_priority ]
     [ , [@output_file_name =] 'file_name' ] 
     [ , [@flags =] flags ]
     [ ,  {   [ @proxy_id = ] proxy_id 
            | [ @proxy_name = ] 'proxy_name' } 

Bağımsız değişkenler

  • [ @ job_id =] job_id
    Adım ait olduğu iş tanımlama numarası.job_idİş uniqueidentifier, varsayılan değer null.Ya da job_id veya job_name belirtilmesi gerekir, ancak her ikisi de belirtilemez.

  • [ @ job_name =] 'job_name'
    Adım ait olduğu iş adı.job_nameİş sysname, varsayılan değer null.Ya da job_id veya job_name belirtilmesi gerekir, ancak her ikisi de belirtilemez.

  • [ @ step_id =] step_id
    Değiştirilecek olan kimlik numarası iş step.Bu numarası değiştirilemez.step_idİş int, ile hiçbir varsayılan.

  • [ @ step_name =] 'step_name'
    Adım yeni adıdır.step_nameİş sysname, varsayılan değer null.

  • [ @ alt =] 'subsystem'
    Alt sistemi tarafından kullanılan Microsoft SQL Server yürütmekAracısıcommand. subsystemİş nvarchar(40), varsayılan değer null.

  • [ @ Command =] 'command'
    Üzerinden yürütülecek command(s) subsystem.commandİş nvarchar(max), varsayılan değer null.

  • [ @ additional_parameters =] 'parameters'
    Yalnızca bilgi amaçlı olarak belirtilmiştir. Desteklenmez. Gelecekteki uyumluluk garanti edilmez.

  • [ @ cmdexec_success_code = ] success_code
    Tarafından döndürülen değeri bir CmdExec belirtmek için alt komutu command başarıyla yürütüldü.success_codeİş int, varsayılan değer null.

  • [ @ on_success_action =] success_action
    Adım başarılı olursa gerçekleştirilecek eylem .success_action olan tinyint, null, varsayılan değer ve biri bu değerler. olabilir

    Değer

    Açıklama (eylem)

    1

    Başarı ile çıkın.

    2

    Hatası ile çıkın.

    3

    Sonraki adıma geçin.

    4

    Adıma gidinsuccess_step_id.

  • [ @ on_success_step_id = ] success_step_id
    Bu iş adım adım başarılı olursa yürütmek için kimlik numarasını ve success_action olan 4.success_step_idİş int, varsayılan değer null.

  • [ @ on_fail_action =] fail_action
    Adım başarısız olursa gerçekleştirilecek eylem .fail_actionİş tinyint, varsayılan değer null ve biri bu değerler. olabilir

    Değer

    Açıklama (eylem)

    1

    Başarı ile çıkın.

    2

    Hatası ile çıkın.

    3

    Sonraki adıma geçin.

    4

    Adıma gidin fail_step_id.

  • [ @ on_fail_step_id =] fail_step_id
    Bu iş adım adım başarısız olursa yürütmek için kimlik numarasını ve fail_action olan 4.fail_step_idİş int, varsayılan değer null.

  • [ @ Server = ] 'server'
    Yalnızca bilgi amaçlı olarak belirtilmiştir. Desteklenmez. Gelecekteki uyumluluk garanti edilmez. serverİş nvarchar(128), varsayılan değer null.

  • [ @ veritabanı_adı =] 'database'
    yürütmek , veritabanının adını bir Transact-SQL adım.database* *is sysname.Ayraç ([]) içine adları izin verilmez.Varsayılan değer null olur.

  • [ @ database_user_name =] 'user'
    Çalıştırırken kullanılacak kullanıcı hesabının adını bir Transact-SQL adım.user* *İş sysname, varsayılan değer null.

  • [ @ retry_attempts =] retry_attempts
    Yeniden deneme sayısı, bu adım başarısız olursa kullanmayı dener.retry_attemptsİş int, varsayılan değer null.

  • [ @ yeniden_deneme_aralığı =] retry_interval
    Yeniden denemeleri arasındaki dakika cinsinden saat miktarını.retry_intervalİş int, varsayılan değer null.

  • [ @ os_run_priority = ] run_priority
    Yalnızca bilgi amaçlı olarak belirtilmiştir. Desteklenmez. Gelecekteki uyumluluk garanti edilmez.

  • [ @ output_file_name =] 'file_name'
    Bu adımı çıkışını kaydedildiği dosya adı.file_nameİş nvarchar(200), varsayılan değer null.Bu parametre yalnızca çalışan komutları ile geçerli olan Transact-SQL veya CmdExec alt sistemler.

    küme null dön output_file_name için kümegerekiroutput_file_name boş bir dize (' ') veya bir dize boş karakterler, ancak kullanamazsınız CHAR(32) işlev.Örneğin, küme , bu bağımsız değişken boş bir dize için aşağıdaki gibidir:

    @ output_file_name = ' '

  • [ @ bayrakları =] flags
    Seçenek davranışını denetler.flagsİş int, ve bu değerlerden biri olabilir.

    Değer

    Açıklama

    0 (varsayılan)

    Çıktı dosyasının üzerine.

    2

    Çıktı dosyasına Ekle

    4

    Transact -SQLiş adım çıkış adım geçmişyazma

    8

    tablo yazma günlük (varolan geçmişüzerine yaz)

    16

    tablo yazma günlük (append varolan geçmiş)

  • [ @ proxy_id=] proxy_id
    Olarak iş adım çalıştırır proxy kimlik numarası.proxy_idtürü int, varsayılan değer null.Yok, proxy_id belirtilirse, hiçbir proxy_name belirtilen ve hiçbir user_name belirtilen, iş adım çalıştırır için hizmet hesabı olarak SQL Server Aracısı.

  • [ @ proxy_adı=] 'proxy_name'
    Olarak iş adım çalıştırır proxy adı.proxy_nametürü sysname, varsayılan değer null.Yok, proxy_id belirtilirse, hiçbir proxy_name belirtilen ve hiçbir user_name belirtilen, iş adım çalıştırır için hizmet hesabı olarak SQL Server Aracısı.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (başarısız)

Açıklamalar

sp_update_jobstep dan çalıştırılması gereken msdb veritabanı.

Bir iş adımı güncelleme iş sürüm numarasını arttırır.

İzinler

Varsayılan olarak, üye sysadmin sabit sunucu rolü olabilir yürütmek bu saklı yordam.Diğer kullanıcıların aşağıdakilerden birini verilmelidir SQL Server Agent veritabanı rolleri sabit msdb veritabanı:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Bu roller, izinler hakkında daha fazla bilgi için bkz: SQL Server Agent veritabanı rolleri sabit.

Yalnızca üyeleri sysadmin başka bir kullanıcının sahip olduğu iş adım güncelleştirebilirsiniz.

iş adım proxy erişimi gerektiriyorsa, iş adım oluşturan iş adım proxy erişimi olması gerekir.Transact -SQL, dışındaki tüm alt sistemler yetkili hesapgerektirir.Üyeleri sysadmin tüm proxy'leri erişimi ve kullanabilirsiniz SQL Server Agent hizmet hesabı için proxy.

Örnekler

Aşağıdaki örnek ilk adım için yeniden deneme girişimi sayısı değiştirir işWeekly Sales Data Backup. Bu örnek çalıştırdıktan sonra yeniden deneme girişimi sayısı ise 10.

USE msdb ;
GO

EXEC dbo.sp_update_jobstep
    @job_name = N'Weekly Sales Data Backup',
    @step_id = 1,
    @retry_attempts = 10 ;
GO