Aracılığıyla paylaş


Özel şema değişiklikleri yansıtmak için işlemsel yordamları yeniden

Varsayılan işlem çoğaltma aboneleri tarafından iç işlemler için her tablo makale yayın oluşturulan saklı yordamlar aracılığıyla 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 INSERT, update veya delete için abone çoğaltıldığında yürütün. Ne zaman bir şema değişikliği yapılan bir tablo üzerinde bir SQL ServerYayınevi, çoğaltma oluşturur Bu yordamlar otomatik olarak yeni yordamlar yeni şema eşleşmesini sağlamak aynı dahili kodlama işlemleri kümesini çağırarak (şema değişiklikleri çoğaltma Oracle yayımcılar için desteklenmiyor).

Bir veya daha fazla varsayılan yordamları yerine özel yordamlar belirtmek mümkündür. Yordam şema değişikliği etkiler Eğer özel yordamlar değiştirilmelidir. Örneğin, yordam şema değişikliği kesilmeden sütun başvuruyorsa, sütuna yapılan başvuruları aşağıdaki yordam kaldırılmalıdır. Çoğaltma aboneleri için yeni bir özel yordam yaymak iki yol vardır:

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

    1. Yürütürken eşdeğerdirsp_addarticle (Transact-sql), emin olun @ schema_option 0x02 bit olduğunu gerçek.

    2. Yürütme sp_register_custom_scripting (Transact-sql)ve 'Ekle', 'güncelleştirme' veya 'Sil' değerini belirtin parametre @ türü ve özel adını komut parametresi için yordam @ değeri.

    Şema değişikliği yapılır, sonraki çoğaltma yeni kullanıcı tanımlı özel saklı yordam için komut tanımı dışında bu saklı yordam çağrıları ve her abone için yordam yayar.

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

    1. Yürütürken eşdeğerdirsp_addarticle (Transact-sql)Set @ schema_option 0x02 bit yanlış nedenle çoğaltma abone adresindeki özel yordamlar otomatik olarak oluşturmaz.

    2. Önce her bir şema değişikliği yeni bir komut dosyası oluşturma ve komut dosyası çoğaltma yürüterek kayıt sp_register_custom_scripting (Transact-sql). 'CUSTOM_SCRIPT' değerini belirtin parametre @ türü ve Publisher parametresi komut dosyasının yolunu @ değeri.

    İlgili şema değişikliği yapılır, sonraki her abone ddl komutu aynı işlem içinde üzerinde bu komut dosyasını yürütür. Şema değişikliği yapıldıktan sonra komut dosyası kayıtsız. Sonra bir sonraki şema değişikliği idam için komut IIS'ye yeniden kaydetmeniz gerekir.

Ayrıca bkz.

Kavramlar

Değişiklikleri için işlemsel makaleleri nasıl yayılma belirtme

Yayını veritabanları üzerinde şeması değişiklikler yapmak