Toplu Ekleme veya BCP deyimi yürütmeye çalıştığınızda onay hatası SQL Server

Bu makale, bir BULK INSERT veya BCP işlemini yürütmeye çalıştığınızda oluşan sorunu çözmenize yardımcı olur.

Orijinal ürün sürümü: SQL Server 2008 R2 Enterprise, SQL Server 2008 Enterprise
Özgün KB numarası: 2700641

Belirtiler

Aşağıdaki senaryoyu inceleyin:

  • Sunucu A ve Sunucu B, Microsoft SQL Server 2008 veya SQL Server 2008 R2 çalıştırıyor.

  • A Sunucusu ile B Sunucusu arasında veritabanı yansıtması ayarlarsınız.

  • Asıl veritabanında bir BULK INSERT veya BCP deyimi yürütürsiniz.

    Not

    Varsayılan olarak, CHECK_CONSTRAINTS or BULK INSERTBCP deyimini yürütürken seçeneği kapalı olarak ayarlanır.

  • Veritabanı yansıtması bozuk ve veritabanı yansıtma oturumu SUSPENDED durumuna giriyor.

Bu senaryoda yansıtma sunucusunda bir onaylama işlemi gerçekleşir. Bu nedenle, SQL Server günlük klasöründe bir mini döküm dosyası oluşturulur. Ayrıca yansıtma sunucusundaki SQL Server hata günlüğünde aşağıdaki hatayı görürsünüz:

Not

Bu sorunu çözmek için veritabanı yansıtmasını yeniden başlatmanız gerekir.

Neden

Bu sorun, asıl veritabanının işlem günlüğündeki kilit uyumluluğu bilgileri yansıtma sunucusuna aktarılamadığından oluşur.

Geçici Çözüm

Bu sorunu geçici olarak çözmek için seçeneğini kullanarak veya BCP deyimini asıl veritabanında yürütür BULK INSERTCHECK_CONSTRAINTS.

Not

seçeneği CHECK_CONSTRAINTS performansın yavaşlamasına neden olur. Ancak yansıtma sunucusunda kilit onayı gerçekleşmez.

Daha fazla bilgi

Bir BULK INSERT veya BCP işlemi sırasında, bir alt işlem seçeneği kapatır CHECK_CONSTRAINTS . Bu alt işlem, üst işlem kilitleriyle uyumlu bir kilit kullanır. Uyumluluk bilgileri, asıl veritabanının işlem günlüğünde depolanır. Bu nedenle, asıl veritabanında alt işlem kilidi isteği verilir.

Ancak, bu uyumluluk bilgileri yansıtma sunucusuna aktarılamaz. Bu nedenle, alt işlem kilidi isteği yansıtma sunucusundaki üst işlem kilitleriyle uyumsuzdur. Bu senaryo yansıtma sunucusunda onaylama işlemine neden olur.