Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makale, sistem CLR veri türüne (geometri, coğrafya veya hiyerarşi kimliği) sahip bir tablo için değişiklikleri işlerken CDC yakalama işinin başarısız olması sorununu geçici olarak çözmenize yardımcı olur.
Şunlar için geçerlidir: SQL Server
Özgün KB numarası: 4538384
Belirtiler
Aşağıdaki senaryoyu değerlendirin:
- Geometri, coğrafya veya hierarchyid gibi sistem CLR veri türüne sahip bir tabloda Veri Yakalamayı Değiştir (CDC) özelliğini etkinleştirirsiniz.
- CDC yakalama (tarama) işi, diğer tablolarla ilgili değişiklikleri işliyor. İşlem henüz sistem CLR veri türüne sahip tabloya ulaşmadı.
- Sistem CLR veri türüne sahip tabloda bazı Veri İşleme Dili (DML) değişiklikleri yaparsınız. Ardından, aynı tabloda Veri Tanımı Dili (DDL) değişiklikleri yaparsınız (örneğin, bir sütun eklersiniz).
Bu senaryoda, CDC yakalama işi sistem CLR veri türüne sahip tabloyu işlemeye başladığında başarısız olur ve aşağıdaki hata iletisini döndürür:
Msg 18805, Düzey 16, Durum 1, Yordam sp_replcmds, LineLineNumber[Batch Start Line LineNumber ]
Günlük Tarama İşlemi, {nnnn: nnnnn: nn: n} günlük dizisi numarasından çoğaltılmış bir komut oluşturamadı. Yayın veritabanını yedekleyin ve Müşteri Destek Hizmetleri'ne başvurun.
Msg 22859, Düzey 16, Durum 2, Yordam sp_replcmds, Satır Numarası [Batch Start Line LineNumber ]
Günlük Tarama işlemi günlük kayıtlarını işlemede başarısız oldu. Nedeni belirlemek ve ilişkili sorunları düzeltmek için geçerli oturumdaki önceki hatalara bakın.
Msg 3621, Düzey 16, Durum 6, Yordam sp_replcmds, SatırSayısı [Batch Start Line LineNumber ]
Deyim sonlandırıldı.
Msg 22864, Düzey 16, Durum 1, Yordam sp_MScdc_capture_job, SatırSayısı[Batch Start Line LineNumber ]
'DatabaseName' veritabanı için Yakalama İşi tarafından sp_MScdc_capture_job çağrısı başarısız oldu. Hatanın nedeni için önceki hatalara bakın.
Ayrıca, aşağıdaki giriş hata günlüğüne kaydedilebilir:
Hata: 913, Önem Derecesi: 16, Durum: 16. Veritabanı IDID bulunamadı. Veritabanı henüz etkinleştirilmemiş veya geçişte olabilir. Veritabanı kullanılabilir olduğunda sorguyu yeniden oluşturun. Bu hatanın durumunun geçiş yaptığı bir veritabanından kaynaklandığını düşünmüyorsanız ve bu hata oluşmaya devam ediyorsa.
Daha Fazla Bilgi
CDC yakalama işi başlangıçta yalnızca DML'yi işlerse ve bir sonraki çalıştırmada DDL değişikliğini işlerse bu sorun oluşmaz.
Geçici çözüm
Bu sorunu geçici olarak çözmek için aşağıdaki yöntemlerden birini deneyin:
Sorunlu veri türlerini (geometri, coğrafya, hiyerarşi kimliği) CDC ile birlikte kullanmaktan kaçının.
Geometri, coğrafya veya hierarchyid veri türlerine sahip tablolarda DDL değişiklikleri yaptığınızda, önemli DML değişiklikleri olmadığından emin olun. Bu sorunu önlemek için şu adımları izleyin:
- Tüm DML'yi tabloya sessizce ekleyin.
- Değişiklikleri işlemek için bir yakalama işi çalıştırın.
- Tablo için DDL'yi çalıştırın.
- DDL değişikliklerini işlemek için bir yakalama işi çalıştırın.
- DML işlemeyi yeniden etkinleştirin.
Not
Bu sorunla karşılaşmaya devam ederseniz, tabloda CDC'yi devre dışı bırakın ve yeniden etkinleştirin.