Aracılığıyla paylaş


İşlemsel kopyalama hatalar atlanıyor

İçin işlem çoğaltma, dağıtım işlemi sırasında karşılaşılan hataları atlayın iki yolu vardır:

  • The -SkipErrors parameter of the Distribution Agent, which allows you to skip errors of a certain type.Hatalı işlem gerçekleşirse, ancak sonraki hareketler.

  • The sp_setsubscriptionxactseqno stored procedure, which allows you to skip one or more transactions that cause errors.Bu seçenek kullanılamaz olmayan-SQL Server aboneleri.

Önemli notÖnemli

Normal çoğaltma işleme altında atlanması gereken hataları karşılaştığınız değil.Hataları dikkatli ve hata koşulu neden oluşmasını ve neden hata veya özel hareket atlanan çözülmüş yerine gereken anlayış atlanan.Abone Yayımcı tarafında kaydedilen işlem atlanırsa, iki düğüm tamamen, hangi ek hatalarına neden eşitlenmeyecek.

- SkipErrors parametresi

Dağıtım Aracısı bir hatayla karşılaştığında, varsayılan olarak, aracı durdurur.Kullanırsanız, - skiperrors parametresi ve beklenen hataları veya çoğaltma ile kesintiye neden olmasını istediğiniz hataları Aracısı hata bilgileri günlüğe kaydeder ve sonra da çalışmaya devam.Dağıtım Aracısı yinelenen anahtar hatası yüzünden oturum ancak sonraki işlemleri işlemeye devam belirtmek isterseniz, örneğin, Aracısı hataları 2601 atlamak belirtin (yinelenen anahtar satır içinde nesne eklenemiyor ' %. * ls' benzersiz dizin olan ' %. * ls'.) ve 2627 (% ls kısıtlaması ihlali ' %. * ls'.Yinelenen anahtar nesne eklenemiyor ' %. * ls'.):

-SkipErrors 2601;2627

Kullanmak için en yaygın yolu - skiperrors parametresi Dağıtım Aracısı profili başlıklı Veri tutarlılığı hataları üzerinde devam.Sonra Dağıtım Aracısı hataları 2601, 2627, atlar ve 20598 (satır bulunamadı Abone tarafında çoğaltılmış komut uygularken).Daha fazla bilgi için bkz: Çoğaltma aracısı profilleri.Önceden tanımlanmış bu profilin yanı sıra bir Aracısı profili oluşturmak veya değiştirmek ya da komut satırı parametresi belirtebilirsiniz.Daha fazla bilgi için, bkz:

Önemli notÖnemli

Varsayılan olarak, harekete yürütmek on ayarlama xact_abort ile.Dağıtım Aracısı abone adresindeki değişiklikler uygulanıyor iken bir deyim içinde bir tetikleyici bir hata neden olur, değişikliklerin tüm toplu iş iş, yerine tek tek ifadesi başarısız olur.' Deki işlem çoğaltma kullanarak - skiperrors hatalara neden ifadeleri atlamak için Dağıtım Aracısı parametresi.If -SkipErrors is used with XACT_ABORT ON, the entire batch of changes is skipped if a statement causes an error.Olmasını xact_abort gerektirmedikçe küme on alan önerilir, küme için kullanıyorsanız, kapalı - skiperrors parametresi.İçin küme , seçeneğini belirtmek SET XACT_ABORT OFF Tetikleyici tanım.xact_abort hakkında daha fazla bilgi için bkz: set xact_abort (Transact-SQL).

Saklı yordam sp_setsubscriptionxactseqno

The sp_setsubscriptionxactseqno stored procedure can be used to skip one or more transactions that cause errors when applied at the Subscriber.Bir hata oluşmuştur ve bir ya da daha fazla hareket atlamak istiyorsanız:

  1. Yürütme sp_helpsubscriptionerrors sonra Dağıtım Aracısı dağıtımcı adresindeki durdurur.Bu saklı yordam döndürür sütun xact_seqno, her biri için günlük sıra numarası (SSN) içeren başarısız işlem oldu.

  2. Yürütme sp_setsubscriptionxactseqno, parametre için bir değer belirterek @ xact_seqno.Başarısız olan tüm hareketleri atlamak istiyorsanız, en büyük SSN tarafından döndürülen belirtmek sp_helpsubscriptionerrors.

Daha fazla bilgi için bkz: sp_setsubscriptionxactseqno (Transact-sql) ve sp_helpsubscriptionerrors (Transact-sql).