Aracılığıyla paylaş


Özel işlem yordamlar, şema değişiklikleri Yansıt için yeniden oluşturuluyor

Varsayılan işlem çoğaltma her tablo makale yayın için iç yordamlar tarafından oluşturulan saklı yordamlar aracılığıyla aboneleri sırasında tüm veri değişiklikleri yapar.(Her biri için ekler, güncelleştirir ve siler) üç yordamlar için abone kopyalanır ve bir ekleme, güncelleştirme veya silme için abone çoğaltıldığında yürütün.Ne zaman bir şema için bir tablo üzerinde değişiklik bir SQL Server Yayımcı, çoğaltma Bu yordamlar otomatik olarak aynı arayarak oluşturur küme yeni yordamlar yeni şema uygun olacak şekilde, iç yordamlar komut dosyası kullanan kullanan kullanan (Oracle Yayımcılar için şema değişikliklerinin desteklenmez).

Varsayılan yordamlardan birini veya birkaçını değiştirmek için özel yordamlar belirtmek olasıdır.Şema değiştirme yordamı etkiler, özel yordamlar değiştirilmelidir.Örneğin, bir yordam için şema değişikliği bırakılan bir sütun başvuruyorsa, sütun başvuruları yordamı kaldırılması gerekir.Çoğaltma aboneleri için yeni bir özel yordam yaymak iki yol vardır:

  • Ilk seçenek çoğaltma tarafından kullanılan varsayılan ayarları değiştirmek için özel komut dosyası kullanan kullanan kullanan dosyası kullanan yordamı kullanmaktır:

    1. Yürütürken sp_addarticle (Transact-SQL), sağlamak @ schema_option için 0x02 bit olur.TRUE.

    2. yürütmek sp_register_custom_scripting (Transact-SQL) 'ekleme', 'Güncelleştirme' veya 'parametresi için Sil' değerini belirtin. @ türü ve parametre için özel komut dosyası kullanan kullanan dosyası kullanan yordamı adıdeğer.

    Sonraki saat bir şema değişikliği yapıldığında, çoğaltma, yeni kullanıcı tanımlı özel saklı yordam için komut dosyası tanımını öğrenmek için bu saklı yordamı çağırır ve sonra her abone yordamına yayar.

  • Ikinci seçenek, yeni bir özel yordam tanımını içeren bir komut dosyası kullanmaktır:

    1. Yürütürken sp_addarticle (Transact-SQL), küme @ schema_option 0x02 biteyanlış ; bu nedenle, çoğaltma sırasında abone özel yordamlar otomatik olarak oluşturmaz.

    2. Her şema değiştirme önce yeni bir komut dosyası oluşturma ve komut dosyası çalıştırarak çoğaltma kaydedin... sp_register_custom_scripting (Transact-SQL). 'Custom_script' parametresinin değeri belirtin. @ türü ve parametre için yayımcı üzerinde komut dosyası yoldeğer.

    Ilgili şema değişikliği yapıldığında, bir sonraki açışınızda, her abone DDL komut olarak aynı hareket içinde bu komut dosyasını yürütür.Şema değişiklik yapıldıktan sonra komut dosyası kaydı var.Bir sonraki şema değişiklikten sonra yürütülen için komut dosyası ııs'ye yeniden kaydetmeniz gerekir.