Share via


Birleştirme makale işlem sırasını belirtme

İle başlayan Microsoft   SQL Server 2005, bu makaleyi birleştirme yayımları için işleme varsayılan düzenini geçersiz kılmak mümkündür. Bu örneğin, Tetikleyiciler yoluyla bilgi tutarlılığı tanımlamak ve belirli bir sırada bu Tetikleyiciler ateşlenmesine gerekir, yararlıdır.

Makaleleri işlem sırasını belirtmek için

Sipariş işleme nasıl belirlenir?

Birleştirme eşitleme sırasında makaleleri varsayılan olarak, nesneleri arasındaki bağımlılıklar gerektirdiği sırada işlenen temel tablolar üzerinde tanımlanan bildirim deyimi bilgi tutarlılığı (DRI) kısıtlamalar dahil. İşleme değişiklikleri tablo sıralanıyor ve bu değişiklikleri uygulamadan içerir. Hiçbir DRI yok, ancak tablo makaleleri arasında birleştirme filtre veya mantıksal kaydı var, makaleleri filtreleri ve mantıksal kayıtları için gerekli sırayla işlenir. Makaleler değil ilgili başka bir yazı ile DRI, birleştirme filtreleri, mantıksal kayıtları veya diğer bağımlılıklar makale takma göre işlenir sysmergearticles (Transact-sql)sistem tablosu.

Tablolar içeren bir yayın dikkate SalesOrderHeader ve SalesOrderDetail ile bir birincil anahtar sütunu SalesOrderID içinde SalesOrderHeader anahtar tablosu ve yabancı karşılık gelen sütun SalesOrderID içinde SalesOrderDetail tablo. Yabancı anahtar ihlali herhangi bir yeni satır ekleyerek, birleştirme çoğaltması eşitleme sırasında engeller SalesOrderHeader ilişkili satırları eklemeden önce SalesOrderDetail. Benzer şekilde, gelen satırlar silinir SalesOrderDetail ilgili satır silinir önce SalesOrderHeader.

Ancak, bazı uygulamalarda Veritabanı Tetikleyiciler veya uygulama düzeyinde, yerine yoluyla DRI tutarlılığı uygulanır. DRI yerine, yukarıda açıklanan yayına verilen SalesOrderDetail tablonuz ilişkili satır sağlar ekleme tetikleyicisi SalesOrderHeader Tablo INSERT izin vermeden önce mevcut. SalesOrderHeader , orada hiçbir ilişkili satırları sağlayan delete tetikleyici olabilir SalesOrderDetail silme izin vermeden önce. Zaman ne kadar tetikleyici sonucu olacak belirleyemediğinden makaleleri işlem sırasını belirleme ateş birleştirme çoğaltması hesap Tetikleyiciler almaz. Benzer şekilde, çoğaltma uygulama düzeyinde tanımlanan hesap kısıtlamalar içine alamaz.

Tetikleyiciler veya uygulama düzeyinde başvurusal bütünlüğün korunmasını garantiler makaleleri işleneceğini sipariş belirtmeniz. Tetikleyiciler ile örnekte bu belirtirdiniz SalesOrderHeader tablo işleme önce SalesOrderDetail, çünkü madde sipariş ekleme sırasına göre. Birleştirme çoğaltması otomatik olarak siler sırasını ters. Birleştirme Aracısı bir kısıtlama ihlali oluşur, Makaleler işlemeye devam birleştirme çoğaltması madde sıralama olmadan başarısız olacaktır, çünkü değil; sonra diğer makaleler işlendikten sonra başarısız olan işlemleri yeniden dener. Madde sırasını belirtme, deneme ve bunlarla ilişkili ek bir işlem sadece önler. Yanlış sipariş (örneğin, bir üstbilgi kaydı önce işlenen ayrıntı kayıtları sonuçlanır) belirtirseniz, birleştirme çoğaltması başarılı oluncaya kadar işleme deneyecek.

Ayrıca bkz.

Kavramlar

Çoğaltma için makale seçenekleri Birleştir

Grup değişiklikleri'mantıksal kayıtları ile ilgili satırları

Filtreler katılın