sp_update_jobstep (Transact-SQL)
Bir adımda otomatik etkinlikler gerçekleştirmek için kullanılan bir iş ayarını değiştirir.
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. olabilirDeğ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. olabilirDeğ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