كيفية الحصول على REDGATE مقارنة البيانات للنظر في نوع النظام؟

StackOverflow https://stackoverflow.com/questions/859626

سؤال

وأستخدمه SQL خادم عام 2005.

ولدي قاعدة بيانات ديف وهمز أن يكون أساسا نفس البيانات في نفوسهم. عندما أقوم بعملية مقارنة مع REDGATE البيانات SQL قارن 5، فإنه يقول إن سجلات 4 فقط تختلف. ومع ذلك، عندما فتح الجداول وعرضها، فهي في ترتيب مختلف تماما. لا يحتوي الجدول على مؤشر أو أي شيء مما اضطر ترتيب، وأنا أحاول أن تأكد يتم فرز بلدي ديف في نفس الترتيب كما همز. ولكن سوف REDGATE لا تقول لي عندما أكون قريبة، لأنه على ما يبدو في العثور السجلات التي تطابق، حتى لو أنها ليست في نفس ترتيب. كيف يمكنني تجاوز ذلك؟

وأود أن استخدام الأداة لمعرفة متى لقد برزت ترتيب، للتأكد لدي الحق.

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

المحلول

واختلاف ترتيب يعني فقط أن الصفوف يتم وضعها في ملفات البيانات بطريقة مختلفة جسديا، ولكن البيانات لا يزال يطابق تماما، لذلك لا يزال DC تقارير أنها تطابق. ليس هناك خيار لحملها على "احترام النظام القرص الفعلي" (والذي هو أساسا ما كنت طالبا)، لأنه حتى لو لاحظت وجود اختلاف، وليس هناك طريقة لمزامنة الفرق، كما SQL Server لديه أية طريقة للسيطرة على تعديل ترتيب القرص.

من أجل أن يتم سحب البيانات من القرص عند الاستعلام لا ينبغي أبدا أن يعتمد جدول على - إذا كنت تحتاج إلى ترتيب معين، يجب أن تشمل "ORDER BY" الوارد في الاستعلام لفرض ترتيب معين . إذا كان هناك سبب من الأسباب التي لا يمكنك استخدام ORDER BY، لديك الخيار الآخر الوحيد لإجبار نظام الفرز معين هو إضافة فهرس متفاوت المسافات على الحقل الذي تريد فرز الجدول.

إذا كنت حقا بحاجة إلى إعادة ترتيب البيانات، ثم ستحتاج إلى اقتطاع الجدول هذا "الخطأ" وتعبئة فإنه مع "INSERT INTO [سيئة أجل الجدول] SELECT * FROM [حسن جدول ترتيب]". حتى ذلك الحين، في حين أنه يجب أن يكون لها الأثر المطلوب، وليس هناك ضمان.

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

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