إسقاط صلات قاعدة بيانات في MS SQL خادم 2000

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

  •  03-07-2019
  •  | 
  •  

سؤال

ولدي قاعدة البيانات التي لدينا مشاكل مع. بطريقة أو بأخرى وقد أصبح سجل 400 جيجابايت، وقد جعلت قاعدة البيانات عديمة الفائدة. أريد أن إسقاط كافة الاتصالات الموجودة في قاعدة البيانات ومن ثم فصل قاعدة البيانات.

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

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

المحلول 3

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

نصائح أخرى

إذا سجل لا طائل منه، يمكنك استخدام هذه الأوامر، ولكن يرجى توثيق عليها بنفسك قبل تطبيق على خادم إنتاج.

وBACKUP LOG WITH NO_LOG لdisgard صفحات من السجل،

وsp_helpdb الرئيسية ليبحث اسم ملفات ديسيبل

وSHRINKFILE DBCC ( 'الخاص بك اسم السجل "، 0) - لالكابلات ملف فعلي لحجم المحدد

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

وALTER DATABASE [YourDB] SET SINGLE_USER مع NO_WAIT

عند الانتهاء وضعها مرة أخرى في وضع المستخدم متعددة ALTER DATABASE [YourDB] SET MULTI_USER مع NO_WAIT

هل

وسجل النسخ الاحتياطي yourdb مع SHRINKDATABASE truncate_only ثم DBCC (yourdb) لا تقليص ملف التسجيل بالنسبة لك؟

ALTER DATABASE [DB_NAME_HERE] SET SINGLE_USER WITH ROLLBACK IMMEDIATE

ALTER DATABASE [DB_NAME_HERE] SET MULTI_USER
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top