سؤال

لدي حزمة DTS الذي هو رفع خطأ مع "نسخ SQL Server كائنات" مهمة.المهمة نسخ الجدول بالإضافة إلى البيانات من SQL Server 2000 المزود بحزمة الخدمة SP4 server إلى آخر (نفس النسخة) و هو إعطاء الخطأ:-

لا يمكن أن تجد تحقق القيد عن 'dbo.MyTableName', على الرغم من أن الجدول هو علامة على وجود واحد.

المصدر طاولة واحدة تحقق القيد المحددة التي تظهر على سبب المشكلة.بعد تشغيل حزمة DTS الشيء الذي يبدو للعمل بشكل صحيح - الطاولة ، كل القيود والبيانات التي تم إنشاؤها على الملقم الوجهة?ولكن الخطأ أعلاه يتم رفع تسبب الخطوات اللاحقة عدم الترشح.

أي فكرة لماذا يظهر هذا الخطأ ?

هل كانت مفيدة؟

المحلول

وهذا يدل على أن البيانات الوصفية في sys الجداول قد حصلت متزامنة مع الفعلي المخطط.إذا كنت لا ترى أي علامات أخرى أكثر عمومية الفساد ، والقيام بناء الجدول من قبل نسخها إلى آخر الجدول (select * في newtable من oldtable) ، واسقاط الجدول القديم ثم إعادة تسمية واحدة جديدة واستبدال القيود سوف تساعد.هذا هو مماثل لكيفية إدارة المؤسسة في عام 2000 يفعل أشياء عند إدراج عمود ليس في نهاية الجدول ، لذلك إدراج عمود جديد في منتصف الجدول ثم إزالة تحقيق نفس الشيء إذا كنت لا تريد يدويا كتابة الاستعلامات.

وأود أن تكون إلى حد ما إزاء حالة قاعدة البيانات ككل إذا كنت ترى حوادث أخرى من هذا النوع من الخطأ.(أفترض هنا أن كنت قد فعلت بالفعل CHECKDB الأوامر و أن الخطأ هو التمادي...)

نصائح أخرى

هذا الخطأ بدأ عندما عمود جديد (مع تحقق القيد) تم إضافتها إلى جدول موجود.للتحقيق لدي:-

  • نسخ الجدول إلى وجهة مختلفة SQL Server وحصلت على نفس الخطأ.
  • إنشاء جدول جديد مع بالضبط نفس الهيكل ولكن باسم مختلف و نسخها مع أي خطأ.
  • إسقاط ثم إعادة إنشاء تحقق القيد على مشكلة الجدول ولكن لا يزال الحصول على نفس الخطأ.
  • checktable dbcc ('MyTableName') مع ALL_ERRORMSGS يعطي أي أخطاء.
  • dbcc checkdb في المصدر والوجهة قاعدة بيانات يعطي أي أخطاء.

ومن المثير للاهتمام حزمة DTS يبدو:-

  • نسخ الجدول.
  • نسخ البيانات.
  • إنشاء القيود

لأن تحقق القيد إنشاء الوقت 7 دقائق بعد الجدول إنشاء أي وقتفإنه يخلق تحقق القيد بعد ذلك انتقلت البيانات.المنطقي كما أنه لا يجب أن تحقق من البيانات كما هو النسخ ، ويفترض تحسين الأداء.

كما Godeke يوحي ، أعتقد أن شيئا قد أصبحت فاسدة في جداول النظام ، جدول جديد مع نفس الأعمدة يعمل.على الرغم من DBCC التصريحات لا تعطي الأخطاء ؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top