سؤال

أنا بحاجة إلى إفراغ وهو ملف LDF قبل إرسالها إلى زميل.كيف يمكنني القوة SQL Server إلى اقتطاع السجل ؟

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

المحلول

إذا كنت أتذكر جيدا...في محلل استعلام أو ما يعادلها:

BACKUP LOG  databasename  WITH TRUNCATE_ONLY

DBCC SHRINKFILE (  databasename_Log, 1)

نصائح أخرى

في studio إدارة:

  • لا تفعل هذا في بيئة حية ، ولكن لضمان تقليص الخاص بك ديف db بقدر ما تستطيع:
    • انقر بزر الماوس الأيمن فوق قاعدة البيانات ، اختر Properties, ثم Options.
    • تأكد من "الانتعاش نموذج" تعيين إلى "بسيطة" ، وليس "الكامل"
    • انقر فوق موافق
  • انقر بزر الماوس الأيمن فوق قاعدة البيانات مرة أخرى ، اختر Tasks -> Shrink -> Files
  • تغيير نوع الملف إلى "تسجيل الدخول"
  • انقر فوق "موافق".

بدلا من ذلك, SQL للقيام بذلك:

 ALTER DATABASE mydatabase SET RECOVERY SIMPLE
 DBCC SHRINKFILE (mydatabase_Log, 1)

Ref: http://msdn.microsoft.com/en-us/library/ms189493.aspx

ل SQL Server 2008 ، الأمر هو:

ALTER DATABASE ExampleDB SET RECOVERY SIMPLE
DBCC SHRINKFILE('ExampleDB_log', 0, TRUNCATEONLY)

هذه خفضت بلدي 14GB ملف سجل وصولا الى 1MB.

SQL server 2008 يمكنك النسخ الاحتياطي سجل nul الجهاز:

BACKUP LOG [databaseName]
TO DISK = 'nul:' WITH STATS = 10

ومن ثم استخدام DBCC SHRINKFILE لاقتطاع ملف السجل.

سجل النسخ الاحتياطي logname مع truncate_only تليها الأمر shrinkfile dbcc

خيار آخر تماما هو فصل قاعدة البيانات عن طريق إدارة Studio.ثم ببساطة حذف ملف سجل أو إعادة تسمية و حذف في وقت لاحق.

مرة أخرى في Studio إدارة إرفاق قاعدة البيانات مرة أخرى.في إرفاق نافذة إزالة ملف سجل من قائمة الملفات.

DB تعلق ويخلق جديد فارغ ملف السجل.بعد التحقق من كل شيء على ما يرام ، يمكنك حذف تسمية ملف السجل.

ربما لا يجب استخدام هذه قواعد بيانات الإنتاج.

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