ما هو الأمر لاقتطاع SQL Server log الملف ؟
-
09-06-2019 - |
سؤال
أنا بحاجة إلى إفراغ وهو ملف 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)
ل 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 تعلق ويخلق جديد فارغ ملف السجل.بعد التحقق من كل شيء على ما يرام ، يمكنك حذف تسمية ملف السجل.
ربما لا يجب استخدام هذه قواعد بيانات الإنتاج.