Aracılığıyla paylaş


Betik Dosyaları Oluşturma (MySQLToSQL)

SSMA konsol uygulamasını başlatmadan önce ilk adım betik dosyasını oluşturmak ve gerekirse değişken değer dosyasını ve sunucu bağlantı dosyasını oluşturmaktır.

Betik dosyası üç bölüme ayrılabilir: Şöyle ki:

  1. yapılandırma: Kullanıcının konsol uygulaması için yapılandırma parametrelerini ayarlamasını sağlar.

  2. Sunucu: Kullanıcının kaynak/hedef sunucu tanımlarını ayarlamasını sağlar. Bu, ayrı bir sunucu bağlantı dosyasında da olabilir.

  3. betik komutları: Kullanıcının SSMA iş akışı komutlarını yürütmesini sağlar.

Her bölüm aşağıda ayrıntılı olarak açıklanmıştır:

MySQL Konsol Ayarlarını Yapılandırma

Bir betiğin yapılandırmaları konsol betiği dosyasında görüntülenir.

Öğelerden herhangi biri yapılandırma düğümünde belirtilirse, bunlar genel ayar olarak ayarlanır; diğer bir deyişle tüm betik komutları için geçerlidir. Kullanıcı genel ayarı geçersiz kılmak istiyorsa, bu yapılandırma öğeleri betik-komut bölümündeki her komut içinde de ayarlanabilir.

Kullanıcı tarafından yapılandırılabilir seçenekler şunlardır:

  1. Çıkış Penceresi Sağlayıcısı: suppress-messages özniteliği 'true' olarak ayarlanırsa, komuta özgü iletiler konsolda görüntülenmez. Öznitelikler açıklaması aşağıda verilmiştir:

    • destination: Çıktının bir dosyaya mı yoksa stdout'a mı yazdırılması gerektiğini belirtir. Bu varsayılan olarak false'tur.

    • file-name: Dosyanın yolu (İsteğe bağlı).

    • iletileri gizleme: Konsoldaki iletileri gizler. Bu varsayılan olarak 'false'tur.

    Örnek:

    <output-providers>  
    
      <output-window  
    
        suppress-messages="<true/false>"   (optional)  
    
        destination="<file/stdout>"        (optional)  
    
        file-name="<file-name>"            (optional)  
    
       />  
    
    </output-providers>  
    

    veya

    <...All commands...>  
    
      <output-window  
    
         suppress-messages="<true/false>"   (optional)  
    
         destination="<file/stdout>"        (optional)  
    
         file-name="<file-name>"            (optional)  
    
       />  
    
    </...All commands...>  
    
  2. Veri Geçişi Bağlantı Sağlayıcısı: Bu, veri geçişi için hangi kaynak/hedef sunucunun dikkate alınacağı belirtir. Kaynak kullanımı-son kullanılan, son kullanılan kaynak sunucunun veri geçişi için kullanıldığını gösterir. Benzer şekilde target-use-last-used, son kullanılan hedef sunucunun veri geçişi için kullanıldığını gösterir. Kullanıcı ayrıca source-server veya target-server özniteliklerini kullanarak sunucuyu (kaynak veya hedef) belirtebilir.

    Belirtilen özniteliklerden yalnızca biri veya diğeri kullanılabilir; örneğin:

    • source-use-last-used="true" (varsayılan) veya source-server="source_servername"

    • target-use-last-used="true" (varsayılan) veya target-server="target_servername"

    Örnek:

    <output-providers>  
    
      <data-migration-connection  source-use-last-used="true"  
    
                                  target-server="<target-server-unique-name>"/>  
    
    </output-providers>  
    

    veya

    <migrate-data>  
    
      <data-migration-connection   source-server="<source-server-unique-name>"  
    
                                   target-use-last-used="true"/>  
    
    </migrate-data>  
    
  3. Kullanıcı Girişi Açılan Menüsü: Bu, nesneler veritabanından yüklendiğinde hataların işlenmesine izin verir. Kullanıcı giriş modlarını sağlar ve hata durumunda konsol, kullanıcının belirttiği şekilde devam eder.

    Modlar şunlardır:

    • ask-user - Kullanıcıdan devam etmesini ('evet') veya hata verip durmasını ('hayır') ister.

    • hata- Konsol bir hata görüntüler ve yürütmeyi durdurur.

    • devam et- Konsol yürütmeyi sürdürür.

    Varsayılan mod hatadır.

    Örnek:

    <output-providers>  
    
      <user-input-popup mode="<ask-user/continue/error>"/>  
    
    </output-providers>  
    

    veya

    <!-- Connect to target database -->  
    
    <connect-target-database server="<target-server-unique-name>">  
    
      <user-input-popup mode="<ask-user/continue/error>"/>  
    
    </connect-target-database>  
    
  4. Sağlayıcıyı Yeniden Bağla: Bu, kullanıcının bağlantı hataları nedeniyle yeniden bağlantı ayarlarını yapmasına olanak tanır. Bu, hem kaynak hem de hedef sunucular için ayarlanabilir.

    Yeniden bağlantı modları şunlardır:

    • son kullanılan sunucuya yeniden bağlan: Bağlantı etkin değilse, en fazla 5 kez kullanılan son sunucuya yeniden bağlanmayı dener.

    • generate-an-error: Bağlantı etkin değilse bir hata oluşturulur.

    Varsayılan mod generate-an-error şeklindedir.

    Örnek:

    <output-providers>  
    
    <reconnect-manager  on-source-reconnect="<reconnect-to-last-used-server/generate-an-error>"  
    
                        on-target-reconnect="<reconnect-to-last-used-server/generate-an-error>"/>  
    
    </output-providers>  
    

    veya

    <!--synchronization-->  
    
    <synchronize-target>  
    
      <reconnect-manager on-target-reconnect="reconnect-to-last-used-server"/>  
    
    </synchronize-target>  
    

    veya

    <!--data migration-->  
    
    <migrate-data server="target-server-unique-name">  
    
      <reconnect-manager  
    
        on-source-reconnect="reconnect-to-last-used-server"  
    
        on-target-reconnect="generate-an-error"/>  
    
    </migrate-data>  
    
  5. Dönüştürücü Üzerine Yazma Sağlayıcısı: Bu, kullanıcının hedef metatabanında zaten var olan nesneleri yönetmesini sağlar. Olası eylemler şunlardır:

    • hata: Konsol bir hata görüntüler ve yürütmeyi durdurur.

    • üzerine yazma: Varolan nesne değerlerinin üzerine yazar. Bu eylem varsayılan olarak gerçekleştirilir.

    • atla: Konsol, veritabanında zaten var olan nesneleri atlar

    • ask-user: Kullanıcıdan giriş ister ('yes'/ 'hayır')

    Örnek:

    <output-providers>  
    
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>  
    
    </output-providers>  
    

    veya

    <convert-schema object-name="<object-name>">  
    
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>  
    
    </convert-schema>  
    
  6. Başarısız Önkoşul Sağlayıcısı: Bu, kullanıcının bir komutu işlemek için gereken tüm önkoşulları işlemesini sağlar. Varsayılan olarak, katı mod 'false' şeklindedir. 'true' olarak ayarlanırsa, önkoşulların karşılanmaması için bir özel durum oluşturulur.

    Örnek:

    <output-providers>  
    
      <prerequisites strict-mode="<true/false>"/>  
    
    </output-providers>  
    
  7. Durdurma İşlemi: Orta işlem sırasında, kullanıcı işlemi durdurmak istiyorsa , 'Ctrl+C' kısayol tuşu kullanılabilir. MySQL Konsolu için SSMA işlemin tamamlanmasını bekler ve konsol yürütmesini sonlandırır.

    Kullanıcı yürütmeyi hemen durdurmak isterse, SSMA Konsol uygulamasının ani sonlandırması için 'Ctrl+C' kısayol tuşuna yeniden basılabilir

  8. İlerleme Sağlayıcısı: Her konsol komutunun ilerleme durumunu bildirir. Bu, varsayılan olarak devre dışıdır. İlerleme raporlama öznitelikleri şunları içerir:

    • kapalı

    • her-1%

    • her-2%

    • her-5%

    • her 10%

    • her 20%

    Örnek:

    <output-providers>  
    
      <progress-reporting enable="<true/false>"          (optional)  
    
                         report-messages="<true/false>"  (optional)  
    
                         report-progress="<every-1%/every-2%/every-5%/every-10%/every-20%/off>" (optional)/>  
    
    </output-providers>  
    

    veya

    <...All commands...>  
    
      <progress-reporting  
    
        enable="<true/false>"              (optional)  
    
        report-messages="<true/false>"     (optional)  
    
        report-progress="<every-1%/every-2%/every-5%/every-10%/every-20%/off>"     (optional)/>  
    
    </...All commands...>  
    
  9. Kayıt Ayrıntı Düzeyi: Kayıt ayrıntı düzeyini ayarlar. Bu, kullanıcı arabirimindeki Tüm Kategoriler seçeneğine karşılık gelir. Varsayılan olarak, günlük detay seviyesi hata olarak ayarlanmıştır.

    Kayıtçı seviyesi seçenekleri şunlardır:

    • önemli hata: Yalnızca önemli hata iletileri günlüğe kaydedilir.

    • error: Yalnızca hata ve kritik hata iletileri günlüğe kaydedilir.

    • uyarı: Hata ayıklama ve bilgi iletileri dışındaki tüm düzeyler günlüğe kaydedilir.

    • bilgi: Hata ayıklama iletileri dışındaki tüm düzeyler günlüğe kaydedilir.

    • hata ayıklama: Tüm mesaj düzeyleri kaydedildi.

    Uyarı

    Zorunlu iletiler tüm düzeylerde günlüğe kaydedilir.

    Örnek:

    <output-providers>  
    
      <log-verbosity level="<fatal-error/error/warning/info/debug>"/>  
    
    </output-providers>  
    

    veya

    <...All commands...>  
    
      <log-verbosity level="<fatal-error/error/warning/info/debug>"/>  
    
    </...All commands...>  
    
  10. Şifrelenmiş Parolayı Geçersiz Kıl: 'True' ise, sunucu bağlantı dosyasının sunucu tanımı bölümünde veya betik dosyasında belirtilen düz metin parolası, varsa korumalı depolamada depolanan şifrelenmiş parolayı geçersiz kılar. Düz metinde parola belirtilmezse, kullanıcıdan parolayı girmesi istenir.

    Burada iki durum ortaya çıkar:

    1. Geçersiz kılma seçeneği false ise, arama sırası şu şekilde olur: Korunan Depolama - > Betik Dosyası - > Sunucu Bağlantı Dosyası - > Kullanıcıdan İsteme.

    2. Geçersiz kılma seçeneği true ise, aramanın sırası Betik Dosyası->Sunucu Bağlantı Dosyası->Kullanıcıyı İsteme olacaktır.

    Örnek:

    <output-providers>  
    
      <encrypted-password override="<true/false>"/>  
    
    </output-providers>  
    

Yapılandırılamaz seçenek şudur:

  • En Fazla Yeniden Bağlanma Denemesi Sayısı: Kurulan bir bağlantı zaman aşımına uğradıysa veya ağ hatası nedeniyle kesildiğinde, sunucunun yeniden bağlanması gerekir. Yeniden bağlantı denemelerine en fazla 5 yeniden deneme için izin verilir, bundan sonra konsol yeniden bağlantıyı otomatik olarak gerçekleştirir. Otomatik yeniden bağlantı özelliği, betiği tekrar çalıştırmak için harcanan çabayı azaltır.

Sunucu Bağlantısı Parametreleri

Sunucu bağlantısı parametreleri betik dosyasında veya sunucu bağlantı dosyasında tanımlanabilir. Daha fazla ayrıntı için lütfen Sunucu Bağlantı Dosyalarını Oluşturma (MySQLToSQL) bölümüne bakın.

Betik Komutları

Betik dosyası, XML biçiminde geçiş iş akışı komutlarının bir dizisini içerir. SSMA konsol uygulaması, geçişi betik dosyasında görünen komutların sırasına göre işler.

Örneğin, MySQL veritabanındaki belirli bir tablonun tipik bir veri geçişi şu hiyerarşiyi izler: Veritabanı -> Tablo.

Betik dosyasındaki tüm komutlar başarıyla yürütüldüğünde, SSMA konsol uygulaması çıkar ve denetimi kullanıcıya döndürür. Bir betik dosyasının içeriği, Değişken Değer Dosyaları'nda veya değişken değerleri için betik dosyasının ayrı bir bölümünde yer alan değişken bilgileriyle az veya çok statiktir.

Örnek:

<!--Sample of script file commands -->  
  
<ssma-script-file>  
  
  <script-commands>  
  
    <create-new-project project-folder="<project-folder>"  
  
                        project-name="<project-name>"  
  
                        overwrite-if-exists="<true/false>"/>  
  
    <connect-source-database server="<source-server-unique-name>"/>  
  
    <save-project/>  
  
    <close-project/>  
  
  </script-commands>  
  
</ssma-script-file>  

3 betik dosyasından (çeşitli senaryoları yürütmek için), değişken değer dosyasından ve sunucu bağlantı dosyasından oluşan şablonlar, ürün dizininin Örnek Konsol Betikleri klasöründe sağlanır:

  • AssessmentReportGenerationSample.xml

  • ConversionAndDataMigrationSample.xml

  • SqlStatementConversionSample.xml

  • VariableValueFileSample.xml

  • ServersConnectionFileSample.xml

Parametreleri uygun hale getirdikten sonra şablonları (dosyaları) yürütebilirsiniz.

Betik komutlarının tam listesi SSMA Konsolunu Yürütme (MySQLToSQL) içinde bulunabilir

Script Dosyası Doğrulama

Kullanıcı, betik dosyasını 'Schemas' klasöründe bulunan 'M2SSConsoleScriptSchema.xsd' şema tanım dosyasında kolayca doğrulayabilir.

Sonraki Adım

Konsolu çalıştırmanın sonraki adımı Değişken Değer Dosyaları Oluşturma (MySQLToSQL)'dir.

Ayrıca Bkz.

Değişken Değer Dosyaları Oluşturma (MySQLToSQL)