كيف يمكنك ترحيل المئات من قواعد بيانات MS Access إلى خدمة مركزية؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

لدينا بالفعل مئات من قواعد بيانات Access المنتشرة حول الشبكة.بعضها استخدام خفيف وبعضها استخدام ثقيل وبعضها لا تستخدم على الإطلاق.ما نود القيام به هو مركزة قواعد البيانات هذه في قاعدة بيانات مُدارة والاحتفاظ بأكبر قدر ممكن من التقارير والنماذج داخلها.

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

لا توجد قيود حقيقية على RDBMS (Oracle، MS SQL server) أو الحزمة التي سيتم تشغيلها عليها (LAMP، ASP.net، Java) ومن الواضح أنه لن يكون هناك حل سحري لذلك.نود شيئًا يمكنه إزالة العمل الأولي بطريقة آلية.

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

المحلول

إن تكبير حجم تطبيق Access ليس حلاً سحريًا.قد تكون بعض الأشياء أسرع، لكن بعض أنواع العمليات ستكون كلابًا حقيقية.وهذا يعني أنه يجب اختبار التطبيق الذي تم تكبير حجمه بشكل كامل ومعالجة اختناقات الأداء، عادةً عن طريق نقل منطق استرداد البيانات إلى جانب الخادم (طرق العرض، والإجراءات المخزنة، واستعلامات المرور).

ومع ذلك، فهي ليست في الواقع إجابة على السؤال.

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

هذه ليست الإجابة التي تريد سماعها، ولكنها الإجابة الصحيحة على وجه التحديد لأنها مشكلة تتعلق بالأشخاص/الإدارة، وليست مهمة برمجة.

نصائح أخرى

نقوم بتكبير حجم المستخدمين (إما باستخدام معالج تكبير الحجم أو يدويًا) إلى خادم SQL.عادة ما يكون الأمر مستقيمًا جدًا.استبدل جميع جداول الوصول بالجداول المرتبطة بخادم SQL واحتفظ بجميع النماذج/التقارير/وحدات الماكرو في متناول اليد.لا يتم فقدان الاستثمار في الوصول ويمكن للمستخدمين الاستمرار في العمل كالمعتاد.يمكنك الحصول على موثوقية خادم SQL والنسخ الاحتياطي المركزي.ضع في اعتبارك أننا قمنا بذلك مع عدد قليل من قواعد بيانات الوصول الكبيرة، وليس المئات.سأقوم بإجراء تجربة تجريبية لبضع عشرات وأرى كيف ستسير الأمور.

تحديث:لقد وجدت للتو هذا، مساعد ترحيل خادم SQL، قد يكون من المفيد إلقاء نظرة عليه:http://www.microsoft.com/sql/solutions/migration/default.mspx

تحديث:نعم، ستكون بعض عمليات إعادة الهيكلة ضرورية لقواعد البيانات سيئة التصميم.أما بالنسبة لكيفية التعامل مع زحف الوصول؟لقد واجهت هذا في الشركات التي لديها الكثير من المستخدمين التقنيين (المهندسون، خاصة، هم الأسوأ في هذا الأمر...والتفوق الامتداد).لقد أجرينا تدقيقًا - (بعد النسخ الاحتياطي) قمنا بحذف أي قواعد بيانات لم يتم التطرق إليها منذ أكثر من عام.تم تعيين "المالكين" بناءً على الموقع و/أو البيانات الموجودة في قاعدة البيانات.إذا كانت قاعدة البيانات في "S:\quality est_dept"، فيجب على مدير الجودة ومهندس الاختبار الرئيسي الحصول على ملكيتها أو حذفها (مرة أخرى بعد نسخها احتياطيًا).

تمتلك Oracle منصة عمل ترحيل لتوصيل أنظمة MS Access إلى Oracle Application Express، الأمر الذي يستحق التحقيق فيه.

http://apex.Oracle.com

لذا؟تخصيص خادم لقواعد بيانات Access الخاصة بك.

الآن لديك ميزة تتبع الاستخدام، وكذلك القدرة على إيلاء المزيد من الاهتمام لبعض البيانات اللامركزية الهامة المخزنة في هذه التطبيقات.

هذا ما كنت ستفعله على أية حال، أنت فقط تريد استخدام محرك قاعدة بيانات مختلف بدلاً من NTFS.

والآن عليك فرض المستخدمين على الخادم الخاص بك.

حسنًا، يمكنك تشجيعهم بإخبارهم أنك لن تقوم باستبدال بياناتهم بنسخ احتياطية قديمة بعد الآن، لأنك الآن ستمتلك البيانات، ولن تفعل ذلك بعد الآن.

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

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

إلحاقًا بتعليقات ديفيد فينتون

ستكون قاعدتك الإدارية شيئًا مثل هذا:

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

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

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