dtexec Utility (SSIS Tool)

Dtexec komut satırı aracı, SSIS paketlerini yapılandırmak ve çalıştırmak için kullanılır. Bu araç connection bilgileri, özellikler, değişkenler, loglama seviyeleri gibi tüm paket yapılandırma ve yürütme özelliklerine erişim sağlar. Dtexec’i kullanarak, paketleri üç farklı şekilde çalıştırabilmek mümkündür. Bunlar: Microsoft SQL Server veritabanı üzerinden, SSIS servisleri üzerinden ve dosya sistemi üzerindendir. Detaylı bilgiye Microsoft’un ilgili konu ile alakalı linkinden ulaşabilirsiniz.

Bu yazıda sizlere komut satırı ekranından SQL Server Integration Services Catalog üzerine deploy edilmiş, proje parametreleriyle çalışan (Catalog içerisindeki Environment’ları kullanan) ve özelleştirilmiş loglama seviyesine sahip bir paketin dtexec komutu ile nasıl çalıştırılabileceğini anlatıyor olacağım.

Bu işlemi komut satırı ekranı üzerinden yapmak için kullandığım örnek kod aşağıdaki gibidir:

dtexec /ISSERVER "\SSISDB\SSIS\SSIS\Master.dtsx" /SERVER "XX.XXX.XXX.XX" /ENVREFERENCE 5 /Par \"$ServerOption::LOGGING_LEVEL(Int32)\";100 /Par \"$ServerOption::CUSTOMIZED_LOGGING_LEVEL(String)\";"ErrorsAndWarnings" /Par \"$ServerOption::SYNCHRONIZED(Boolean)\";True

Şimdi bu kod bloğunu parça parça inceleyelim.

  • DTEXEC: Komut satırı üzerinden herhangi bir SSIS paketini çalıştırmak için kullanılır.
  • /ISSERVER “\SSISDB\SSIS\SSIS\Master.dtsx” (/ISSERVER “dosya_yolu.dtsx”): Integration Services Catalogs à SSISDB üzerinde bulunan ve çalıştırılmasını istediğimiz SSIS paketinin dosya yolunu belirten kısımdır. Benim çalıştırmak istediğim Master.dtsx paketi Integration Services Catalogs üzerinde SSISDB altında SSIS klasöründeki SSIS isimli proje dosyası içerisinde bulunduğundan ilgili kod bloğuna çift tırnak içerisinde bu dosya yolunu ekledim.

1

  • /SERVER “XX.XXX.XXX.XX” : SSIS paketini deploy ettiğimiz server’ın adını belirttiğimiz kısımdır. SQL Server’a bağlanırken giriş ekranında bulunan Server name kısmından kopyalayıp kodumuzdaki çift tırnak arasına yapıştırabilirsiniz.

2

  • /ENVREFERENCE 5 : SSIS paketi içerisinde kullanmış olduğumuz proje parametrelerini kod içerisine yazdığımız kısımdır. Buraya yazdığımız 5 değeri proje paratmerelerinin Catalog üzerindeki reference_id değeridir. Bu değeri bulabilmek için SSISDB veritabanı altında yer alan catalog.environment_references isimli view’ı sorgulayarak buradaki reference_id kolonuna bakabilirsiniz.

3

  • /Par \”$ServerOption::LOGGING_LEVEL(Int32)\”;100 : Kullanmak istediğimiz logging level’ı belirttiğimiz kısımdır. Burada kullanabileceğimiz 6 seçenek mevcuttur. Bunlar;
    • 0        –>   None
    • 1        –>   Basic
    • 2        –>   Performance
    • 3        –>   Verbose
    • 4        –>   RunTimeLineage
    • 100    –>   Customized

Bu seçeneklerden istediğimiz log’lama seviyesini seçerek kodumuza ilgili değeri yazıyoruz. Ben kişiselleştirmiş olduğum bir log’lamayı parametre olarak vermek istediğim için burada 100 değerini koda ekliyorum.

4

  • /Par \”$ServerOption::CUSTOMIZED_LOGGING_LEVEL(String)\” ;”ErrorsAndWarnings”: Bir önceki kısımda Customized_Logging kullanacağımızı belirtmiştik. Burada ise oluşturduğumuz logging’lerden hangisini kullanacağımızı belirtiyoruz. Ben ErrorsAndWarnings isimli logging’i kullanacağım için çift tırnak arasına bu ismi yazıyorum. Böylece paketimiz çalışma esnasında özelleştirmiş olduğumuz log’lama seviyesini kullanacaktır.

5

  • /Par \”$ServerOption::SYNCHRONIZED(Boolean)\”;True : Komut satırı üzerinden paket çalışmaya başladıktan sonra çalışma sonuçlarını ekranda görebilmek için bu parametre koda eklenir. Eğer paket başarılı bir şekilde çalışırsa 0, hata alırsa 1 değerini döndürür. Yazılması zorunlu değildir.

Yazmış olduğumuz bu kod yardımıyla belirli bir server’da yer alan, proje parametreleri kullanan ve özelleştirilmiş log’lama seviyesine sahip SSIS paketlerimizi otomatik olarak belirli zaman aralıklarında çalıştırmak mümkün olmaktadır.

Bu yazı Genel içinde yayınlandı ve , , olarak etiketlendi. Kalıcı bağlantıyı yer imlerinize ekleyin.

Yorum bırakın