Aracılığıyla paylaş


İş Adımlarını Yönet

Şunlar için geçerlidir:SQL ServerAzure SQL Yönetilen Örneği

Önemli

Azure SQL Yönetilen Örneğiüzerinde, SQL Server Agent özelliklerinin çoğu, ancak hepsi değil, şu anda desteklenmektedir. Ayrıntılar için Azure SQL Yönetilen Örneği T-SQL farkları ile SQL Server'ye bakın.

İş adımı, işin bir veritabanında veya sunucuda gerçekleştirilen bir eylemdir. Her işin en az bir iş adımı olmalıdır. İş adımları şu şekilde olabilir:

  • Yürütülebilir programlar ve işletim sistemi komutları.

  • Saklı yordamlar ve genişletilmiş saklı yordamlar dahil olmak üzere Transact-SQL deyimleri.

  • PowerShell betikleri.

  • Microsoft ActiveX betikleri.

  • Çoğaltma görevleri.

  • Analysis Services görevleri.

  • Integration Services paketleri.

Her iş adımı belirli bir güvenlik bağlamında çalışır. İş adımı bir ara sunucu belirtiyorsa, iş adımı ara sunucunun kimlik bilgilerinin güvenlik bağlamında çalışır. Eğer bir iş adımı bir ara sunucu tanımlamazsa, iş adımı SQL Server Aracısı hizmet hesabı bağlamında çalışır. Yalnızca sysadmin sabit sunucu rolünün üyeleri açıkça bir ara sunucu belirtmeyen işler oluşturabilir.

İş adımları belirli bir Microsoft Windows kullanıcısı bağlamında çalıştırıldığından, bu kullanıcının iş adımının yürütülmesi için gerekli izinlere ve yapılandırmaya sahip olması gerekir. Örneğin, sürücü harfi veya Evrensel Adlandırma Kuralı (UNC) yolu gerektiren bir iş oluşturursanız, görevleri test ederken iş adımları Windows kullanıcı hesabınız altında çalıştırılabilir. Ancak, iş adımı için Windows kullanıcısının da gerekli izinlere, sürücü harfi yapılandırmalarına veya gerekli sürücüye erişimi olmalıdır. Aksi takdirde, iş adımı başarısız olur. Bu sorunu önlemek için, her iş adımının ara sunucusunun iş adımının gerçekleştirdiği görev için gerekli izinlere sahip olduğundan emin olun. Daha fazla bilgi için bkz. Güvenlik ve Koruma (Veritabanı Altyapısı).

İş Adımı Günlükleri

SQL Server Aracısı bazı iş adımlarından bir işletim sistemi dosyasına veya msdb veritabanındaki sysjobstepslogs tablosuna çıktı yazabilir. Aşağıdaki iş adımı türleri her iki hedefe de çıkış yazabilir:

  • Yürütülebilir programlar ve işletim sistemi komutları.

  • Transact-SQL deyimleri.

  • Analysis Services görevleri.

Yalnızca sysadmin sabit sunucu rolünün üyesi olan kullanıcılar tarafından yürütülen iş adımları, işletim sistemi dosyalarına iş adımı çıkışı yazabilir. İş adımları msdb veritabanında SQLAgentUserRole, SQLAgentReaderRole veya SQLAgentOperatorRole sabit veritabanı rollerinin üyesi olan kullanıcılar tarafından yürütülürse, bu iş adımlarından elde edilen çıkış yalnızca sysjobstepslogs tablosuna yazılabilir.

İşler veya iş adımları silindiğinde iş adımı günlükleri otomatik olarak silinir.

Dikkat

Çoğaltma görevi ve Entegrasyon Hizmetleri paket işi adım günlüğü kendi ilgili alt sistemleri tarafından işlenir. Sql Server Agent'ı kullanarak bu tür iş adımları için jog adım günlüğünü yapılandıramazsınız.

Yürütülebilir Programlar ve Operating-System Komutları İş Adımları Olarak

Yürütülebilir programlar ve işletim sistemi komutları iş adımları olarak kullanılabilir. Bu dosyalar .bat, .cmd, .com veya .exe dosya uzantılarına sahip olabilir.

İş adımı olarak yürütülebilir bir program veya işletim sistemi komutu kullandığınızda şunları belirtmeniz gerekir:

  • Komut başarılı olursa işlem çıkış kodu döndürüldü.

  • Yürütülecek komut. Bir işletim sistemi komutunu yürütmek için bu yalnızca komutun kendisidir. Bir dış program için bu, programın adı ve programın bağımsız değişkenleridir, örneğin: C:\Program Files\Microsoft SQL Server\100\Tools\Binn\sqlcmd.exe -e -q "sp_who"

    Not

    Yürütülebilir dosya, sistem yolunda belirtilen bir dizinde veya iş adımının çalıştırdığı kullanıcının yollarında yer almıyorsa, yürütülebilir dosyanın tam yolunu sağlamanız gerekir.

Transact-SQL İş Adımları

Bir Transact-SQL işi adımı oluşturduğunuzda şunları yapmanız gerekir:

  • İşin çalıştırıldığı veritabanını tanımlayın.

  • Yürütülecek Transact-SQL ifadesini yazın. Bu deyim, saklı bir yordamı veya genişletilmiş saklı bir yordamı çağırabilir.

İsteğe bağlı olarak, iş adımının komutu olarak mevcut bir Transact-SQL dosyasını açabilirsiniz.

Transact-SQL iş adımları SQL Server Aracısı proxy'lerini kullanmaz. Bunun yerine, iş adımının sahibi olarak veya iş adımının sahibi sysadmin sabit sunucu rolünün üyesiyse SQL Server Aracısı hizmet hesabı olarak çalışır. Sysadmin sabit sunucu rolünün üyeleri, sp_add_jobstep saklı yordamının database_user_name parametresini kullanarak Transact-SQL iş adımlarının başka bir kullanıcı bağlamında çalıştırılmasını da belirtebilir. Daha fazla bilgi için bkz. sp_add_jobstep (Transact-SQL).

Not

Tek bir Transact-SQL iş adımı birden çok işlem grupları içerebilir. Transact-SQL iş adımları eklenmiş GO komutları içerebilir.

PowerShell Komut Dosyası Görevi Adımları

PowerShell betik işi adımı oluştururken, adım için komut olarak iki şeyden birini belirtmeniz gerekir:

  • PowerShell betiğinin metni.

  • Mevcut bir PowerShell betik dosyası açılacak.

SQL Server Agent PowerShell alt sistemi bir PowerShell oturumu açar ve SQL Server PowerShell ek bileşenlerini yükler. İş adımı komutu olarak kullanılan PowerShell betiği SQL Server PowerShell sağlayıcısına ve cmdlet'lerine başvurabilir. SQL Server PowerShell ek bileşenlerini kullanarak PowerShell betikleri yazma hakkında daha fazla bilgi için bkz. SQL Server PowerShell.

ActiveX Betik Çalıştırma İşi Adımları

Önemli

ActiveX betik oluşturma işi adımı, Microsoft SQL Server'ın gelecekteki bir sürümünde SQL Server Aracısı'ndan kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın.

ActiveX betik işi adımı oluşturduğunuzda şunları yapmanız gerekir:

  • İş adımının yazıldığı betik dilini belirleyin.

  • ActiveX betiğini yazın.

Ayrıca, iş adımı için komut olarak mevcut bir ActiveX betik dosyasını açabilirsiniz. Alternatif olarak, ActiveX betik komutları harici olarak derlenebilir (örneğin, Microsoft Visual Basic kullanılarak) ve yürütülebilir programlar olarak çalıştırılabilir.

İş adımı komutu bir ActiveX betiği olduğunda, SQLActiveScriptHost nesnesini kullanarak iş adımı geçmiş günlüğüne çıktı yazdırabilir veya COM nesneleri oluşturabilirsiniz. SQLActiveScriptHost, SQL Server Agent barındırma sistemi tarafından betik adı alanına getirilen genel bir nesnedir. Nesnenin iki yöntemi vardır (Print ve CreateObject). Aşağıdaki örnekte, ActiveX betiğinin Visual Basic Scripting Edition'da (VBScript) nasıl çalıştığı gösterilmektedir.

' VBScript example for ActiveX Scripting job step  
' Create a Dmo.Server object. The object connects to the  
' server on which the script is running.  
  
Set oServer = CreateObject("SQLDmo.SqlServer")  
oServer.LoginSecure = True  
oServer.Connect "(local)"  
'Disconnect and destroy the server object  
oServer.DisConnect  
Set oServer = nothing  

Çoğaltma Görevi Adımları

Çoğaltmayı kullanarak yayınlar ve abonelikler oluşturduğunuzda, çoğaltma işleri varsayılan olarak oluşturulur. Oluşturulan işin türü çoğaltma türüne (anlık görüntü, işlem veya birleştirme) ve kullanılan seçeneklere göre belirlenir.

Çoğaltma işi adımları şu çoğaltma aracılarından birini etkinleştirir:

  • Anlık Görüntü Aracısı (Anlık görüntü işi)

  • Günlük Okuyucu Aracı (GünlükOkuyucu görevi)

  • Dağıtım Aracısı (Dağıtım işi)

  • Birleştirme Aracısı (Birleştirme işi)

  • Kuyruk Okuyucu Aracısı (QueueReader işi)

Çoğaltma ayarlandığında, çoğaltma aracılarını üç yoldan biriyle çalıştırmayı belirtebilirsiniz: SQL Server Aracısı başlatıldıktan sonra, isteğe bağlı olarak veya bir zamanlamaya göre sürekli olarak. Çoğaltma aracıları hakkında daha fazla bilgi için bkz. Çoğaltma Aracıları'Genel Bakış.

Analysis Services İş Adımları

SQL Server Aracısı iki ayrı Analysis Services iş adımı türünü, komut işi adımlarını ve sorgu işi adımlarını destekler.

Analysis Services Komut Görev Adımları

Bir Analysis Services komut işi adımı oluştururken şunları gerçekleştirmeniz gerekir:

  • İş adımının çalıştırıldığı veritabanı OLAP sunucusunu belirleyin.

  • Yürütülecek ifadeyi yazın. deyimi Analysis Services Execute yöntemi için bir XML olmalıdır. Açıklama, tam bir SOAP zarfı veya Analysis Services için XML Discover metodu içermeyebilir. SQL Server Management Studio tam SOAP zarflarını ve Discover yöntemini desteklese de SQL Server Agent iş adımlarının desteklemediğini unutmayın.

Analysis Services Sorgu İşlem Adımları

Analysis Services sorgu işi adımı oluştururken şunları gerçekleştirmeniz gerekir:

  • İş adımının çalıştırıldığı veritabanı OLAP sunucusunu belirleyin.

  • Yürütülecek ifadeyi yazın. Deyimi çok boyutlu ifadeler (MDX) sorgusu olmalıdır.

MDX hakkında daha fazla bilgi için bkz. MDX Deyimi Temelleri (MDX).

Integration Services Paketleri

Integration Services paket işi adımı oluştururken aşağıdakileri yapmanız gerekir:

  • Paketin kaynağını belirleyin.

  • Paketin konumunu belirleyin.

  • Paket için yapılandırma dosyaları gerekiyorsa yapılandırma dosyalarını tanımlayın.

  • Paket için komut dosyaları gerekiyorsa, komut dosyalarını tanımlayın.

  • Paket için kullanılacak doğrulamayı belirleyin. Örneğin, paketin imzalanması gerektiğini veya paketin belirli bir paket kimliğine sahip olması gerektiğini belirtebilirsiniz.

  • Paketin veri kaynaklarını tanımlayın.

  • Paket için günlük kaydı sağlayıcılarını belirleyin.

  • Paketi çalıştırmadan önce ayarlanacağı değişkenleri ve değerleri belirtin.

  • Yürütme seçeneklerini belirleyin.

  • Komut satırı seçeneklerini ekleyin veya değiştirin.

Paketi SSIS Kataloğu'na dağıttıysanız ve paket kaynağı olarak SSIS Kataloğu belirtirseniz, bu yapılandırma bilgilerinin büyük bir kısmı paketten otomatik olarak alınır. Yapılandırma sekmesinin altında ortamı, parametre değerlerini, bağlantı yöneticisi değerlerini, özellik geçersiz kılmalarını ve paketin 32 bit çalışma zamanı ortamında çalışıp çalışmayacağını belirtebilirsiniz.

Integration Services paketlerini çalıştıran iş adımları oluşturma hakkında daha fazla bilgi için bkz. Paketleri için SQL Server Aracı İşleri.

Açıklama Konu
Yürütülebilir bir programla iş adımı oluşturmayı açıklar. CmdExec İş Adımı Oluşturma
SQL Server Aracısı izinlerinin nasıl sıfırlandığı açıklanır. SQL Server Aracı İşi Oluşturma ve Yönetme için Kullanıcıyı Yapılandırma
Transact-SQL iş adımının nasıl oluşturulacağını açıklar. Transact-SQL İş Adımı Oluşturma
Microsoft SQL Server Agent Transact-SQL iş adımları için seçeneklerin nasıl tanımlanacağı açıklanır. Transact-SQL İş Adımı Seçeneklerini Tanımlama
ActiveX betik iş adımının nasıl oluşturulacağını açıklar. ActiveX Betik İş Adımı Oluştur
SQL Server Analysis Services komutlarını ve sorgularını yürüten SQL Server Agent iş adımlarının nasıl oluşturulacağını ve tanımlandığını açıklar. Analysis Services Görev Adımı Oluşturma
İş yürütme sırasında bir hata oluşursa SQL Server'ın hangi eylemi gerçekleştirmesi gerektiğini açıklar. İş Adımını Başarı veya Hata Olarak Belirleme Akışı
İş Adımı Özellikleri iletişim kutusunda iş adımı ayrıntılarının nasıl görüntüleyebileceğinizi açıklar. İş Adım Bilgilerini görüntüleme
SQL Server Aracısı iş adımı günlüğünün nasıl silineceği açıklanır. Bir İş Adımı Günlüğünü Sil

Ayrıca Bkz.

sysjobstepslogs (Transact-SQL)
İş Oluşturma
sp_add_job (Transact-SQL)