database - كيفية - نقل قاعدة بيانات sql server من جهاز الى اخر




وقت الانتظار المدقع عند أخذ قاعدة بيانات SQL Server دون اتصال (10)

أيضًا ، قم بإغلاق أي نوافذ استعلام قد تكون مفتوحة ومتصلة بقاعدة البيانات المعنية ؛)

أحاول إجراء بعض الصيانة دون اتصال (استعادة قاعدة بيانات dev من نسخ احتياطي مباشر) على قاعدة بيانات dev ، لكن الأمر "Take Offline" عبر SQL Server Management Studio يعمل ببطء شديد - في حدود 30 دقيقة زائد الآن. أنا فقط في نهاية الذكاء الخاص بي ، وأنا لا يمكن أن يبدو للعثور على أي إشارات عبر الإنترنت حول ما يمكن أن يسبب مشكلة السرعة ، أو كيفية اصلاحها.

وقد اقترحت بعض المواقع أن الاتصالات المفتوحة إلى قاعدة البيانات تتسبب في هذا التباطؤ ، ولكن التطبيق الوحيد الذي يستخدم قاعدة البيانات هذه هو مثيل IIS لجهاز dev ، وتوقفت الخدمة - لا توجد اتصالات مفتوحة أكثر.

ما الذي يمكن أن يسبب هذا التباطؤ ، وما الذي يمكنني فعله لتسريع ذلك؟


إغلاق مثيل SSMS (SQL Service Manager) الذي تم تقديم الطلب من خلاله حل المشكلة بالنسبة لي .....


بعد بعض البحث الإضافي (عبارات بحث جديدة مستوحاة من إجابة gbn وتعليق u07ch على إجابة KMike) وجدت هذا ، والذي اكتمل بنجاح في ثانيتين:

ALTER DATABASE <dbname> SET OFFLINE WITH ROLLBACK IMMEDIATE

(تحديث)

عندما لا يزال هذا الخطأ مع الخطأ التالي ، يمكنك إصلاحه كمستوحاة من مشاركة المدونة هذه :

فشل ALTER DATABASE بسبب تعذر وضع قفل على قاعدة البيانات 'dbname' حاول مرة أخرى لاحقًا.

يمكنك تشغيل الأمر التالي لمعرفة من يحتفظ بقفل على قاعدة البيانات الخاصة بك:

EXEC sp_who2

واستخدم SPID الذي تجده في الأمر التالي:

KILL <SPID>

ثم قم بتشغيل الأمر ALTER DATABASE مرة أخرى. يجب أن تعمل الآن.


تنفيذ الإجراء المخزن sp_who2

سيسمح لك ذلك بمعرفة ما إذا كان هناك أي أقفال مانعة.


في SSMS: انقر بزر الماوس الأيمن على رمز خادم SQL ، Activity Monitor. فتح العمليات. العثور على معالجتها متصلة. انقر بزر الماوس الأيمن على العملية ، قتل.


في أي وقت تقوم فيه بتشغيل هذا النوع من الأشياء ، يجب أن تفكر دائمًا في سجل المعاملات الخاص بك. يشير تغيير db statment مع التراجع الفوري هذا إلى الحالة. تحقق من ذلك: http://msdn.microsoft.com/en-us/library/ms189085.aspx

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


في حالتي ، كانت قاعدة البيانات مرتبطة بتثبيت Sharepoint قديم. إيقاف وتعطيل الخدمات ذات الصلة في مدير الخادم "unhung" اتخاذ إجراء دون اتصال ، والذي كان يعمل لمدة 40 دقيقة ، وانتهى على الفور.

قد ترغب في التحقق مما إذا كانت أي خدمات تستخدم حاليا قاعدة البيانات.


في حالتي توقفت خادم Tomcat. ثم على الفور ذهب DB غير متصل.


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


هل لديك أي إطارات مفتوحة لـ SQL Server Management Studio متصلة بـ DB؟

ضعه في وضع المستخدم المفرد ، ثم حاول مرة أخرى.







performance