سؤال

للحصول على طلبي، يجب علي دعم سيناريوهات التحديث وقد تتأثر قاعدة البيانات.

أريد أن أكون قادرا على التحديث من إصدار قديم إلى الأحدث دون تثبيت الإصدارات المتوسطة. على سبيل المثال، افترض أن لدي إصدار (الأقدم)، ب (متوسط) و C (إصدار جديد). أريد أن أكون قادرا على تحديث الإصدار مباشرة إلى الإصدار C. للحصول على ملفات التطبيقات هذا بسيط، أنا فقط استبدل القديم بالآخرين. ومع ذلك لأن قاعدة البيانات لا أرغب في إنشاء برنامج نصي SQL لتغيير مخطط قاعدة البيانات من مباشرة إلى ج، بدلا من ذلك، أريد أولا تطبيق برنامج نصي لتغيير المخطط من A إلى B ومن B إلى C.

كيف يمكنني تخزين إصدار قاعدة البيانات لقاعدة بيانات SQL Server؟ هل هناك أي خاصية خاصة يمكنني تعيينها، بدلا من تنفيذ جدول الإصدار؟ في التعليمات البرمجية الخاصة بي (.NET) أريد قراءة إصدار قاعدة البيانات وبالتالي لتنفيذ البرامج النصية SQL Update بالترتيب الصحيح.

سأستخدم كل من SQL Server 2005 و SQL Server 2008.

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

المحلول

يمكنني استخدام خصائص قاعدة البيانات الموسعة، انظر التحكم في الإصدار وقاعدة البيانات الخاصة بك:

SELECT [value] 
    from ::fn_listextendedproperty (
        'MyApplication DB Version', 
        default, default, default, default, default, default);

...

EXEC sp_updateextendedproperty 
    @name = N'MyApplication DB Version', @value = '1.2';
GO

نصائح أخرى

قم بعمل طاولة إصدار، بسيطة، فعالة، وللأكثر من 10 سنوات، فقد عملت أكثر من 10 سنوات.

لقد كتبت هذا ردا على سؤال آخر هنا

هذا يعتمد على إصدار خادم SQL الذي تستخدمه.

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

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

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

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

هنا يمكنك العثور على بعض الإجراءات المخزنة التي تقلل بشكل كبير من البرامج النصية ترقية الجهد: كيفية الحفاظ على نسخة مخطط قاعدة بيانات SQL Server

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