سؤال

لقد استخدمت مساعدًا لترحيل SQL Server بشكل عام لاستيراد قاعدة بيانات إلى SQL Server 2005. لقد لاحظت أنه تم تمثيل عدد من الجداول التي تم استيرادها مع عمود جديد يسمى SSMA_TIMESTAMP.

هل يمكن لأي شخص أن يخبرني ما هذا وكيف سيتم استخدامه؟

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

المحلول

أعتقد أن هذا يتم إنشاؤه حتى يتمكن مساعد الترحيل من اكتشاف التغييرات في البيانات أثناء الترحيل.

ما لم تستمر في استخدام الوصول كواجهة أمامية لقاعدة البيانات المحددة هذه ، فقد قمت بالترحيل إلى SQL Server (وفي هذه الحالة ، انظر إجابة Simon) ، لا أعتقد أنها ستستخدم في أي شيء بعد اكتمال الترحيل ، لذلك يجب أن يكون آمن لإسقاط هذه الأعمدة الجديدة بمجرد التأكد من الانتهاء من كل شيء.

نصائح أخرى

لا يتم استخدام أعمدة SSMA_Timestamp المضافة فقط أثناء الترحيل. إنها تساعد بالفعل في تجنب الأخطاء عند الوصول إلى تحديثات السجلات في الجداول المرتبطة بخادم SQL. لذلك إذا كنت لا تزال تستخدم واجهة أمامية وصول مرتبطة بقاعدة بيانات SQL Server التي تم ترحيلها ، فسيكون من الأفضل عدم إسقاط أعمدة SSMA_Timestamp.

من مقالة MSDN تحسين تطبيقات الوصول إلى Microsoft Office المرتبطة بخادم SQL:

دعم الشيكات التزامن

من المحتمل أن يكون السبب الرئيسي لمشاكل التحديث في الجداول المرتبطة بالوصول إلى المكتب هو أن الوصول إلى المكتب غير قادر على التحقق مما إذا كانت البيانات على الخادم تتطابق مع ما تم استرجاعه آخر مرة من خلال تحديث Dynaset. إذا لم يتمكن الوصول إلى المكتب من إجراء هذا التحقق ، فهذا يفترض أنه تم تعديل صف الخادم أو حذفه بواسطة مستخدم آخر ويؤدي إلى إحباط التحديث.

هناك عدة أنواع من البيانات التي لا يستطيع الوصول إلى المكتب التحقق بشكل موثوق لمطابقة القيم. وتشمل هذه أنواع الكائنات الكبيرة ، مثل النص ، ntext ، الصورة ، و Varchar (Max) ، NVarchar (Max) ، و Varbinary (Max) أنواعًا تم تقديمها في SQL Server 2005. بالإضافة إلى ذلك ، أنواع الرقمية ذات النقطة العائمة ، مثل Real وتطفو ، تخضع لقضايا التقريب التي يمكن أن تجعل المقارنات غير دقيقة ، مما يؤدي إلى التحديثات الملغاة عندما لم تتغير القيم بالفعل. يواجه الوصول إلى المكتب أيضًا مشكلة في تحديث الجداول التي تحتوي على أعمدة بت لا تحتوي على قيمة افتراضية والتي تحتوي على قيم خالية.

تتمثل طريقة سريعة وسهلة في معالجة هذه المشكلات في إضافة عمود الطابع الزمني إلى الجدول على SQL Server. البيانات الموجودة في عمود الطابع الزمني غير مرتبط تمامًا بالتاريخ أو الوقت. بدلاً من ذلك ، إنها قيمة ثنائية مضمونة لتكون فريدة من نوعها عبر قاعدة البيانات وزيادة تلقائيًا في كل مرة يتم فيها تعيين قيمة جديدة لأي عمود في الجدول. المصطلح القياسي ANSI لهذا النوع من العمود هو ROLOVERSION. يتم دعم هذا المصطلح في SQL Server.

يكتشف الوصول إلى المكتب تلقائيًا عندما يحتوي الجدول على هذا النوع من العمود ويستخدمه في جملة WHERE من جميع العبارات التحديث وحذفها التي تؤثر على هذا الجدول. هذا أكثر كفاءة من التحقق من أن جميع الأعمدة الأخرى لا تزال لديها نفس القيم التي كانت لديهم عندما تم تنشيط Dynaset آخر مرة.

يضيف مساعد ترحيل SQL Server للوصول إلى المكتب تلقائيًا عمودًا يسمى SSMA_Timestamp إلى أي جداول تحتوي على أنواع البيانات التي قد تؤثر على قابلية التحديث.

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