SQLServer:刪除log檔案和清空日誌的方法
阿新 • • 發佈:2019-01-03
資料庫的效能是DBA都需要重點關注的,日誌檔案的增多嚴重影響資料庫的效能,本文將為您介紹SQL Server刪除日誌檔案的方法,供您參考,希望對您有所幫助。
資料庫在使用過程中會使日誌檔案不斷增加,使得資料庫的效能下降,並且佔用大量的磁碟空間。SQL Server資料庫都有log檔案,log檔案記錄使用者對資料庫修改的操作。可以通過直接刪除log檔案和清空日誌在清除資料庫日誌。
1、刪除LOG
1.1 分離資料庫
分離資料庫之前一定要做好資料庫的全備份,選擇資料庫——右鍵——任務——分離。
勾選刪除連線
分離後在資料庫列表將看不到已分離的資料庫。
1.2 刪除LOG檔案
1.3 附加資料庫
附加的時候會提醒找不到log檔案。
刪除資料庫資訊資訊的ldf檔案:
附加資料庫之後將生成新的日誌檔案log,新的日誌檔案的大小事504K。
1.4 也可以通過命令才完成以上的操作
use master; exec sp_detach_db @dbname='資料庫名'; exec sp_attach_single_file_db @dbname='資料庫名',@physname='D:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\TestDB.mdf'
Sp_detach_db:分離資料庫;
sp_attach_single_file_db:附加單個數據庫檔案;在上述程式碼中只附加了資料檔案,而未附加日誌檔案,言下之意就是刪除了日誌檔案。
該命令在SQL Server 2005和2000支援,SQL Server 2008不支援該命令。
2. 清空日誌
DUMP TRANSACTION 資料庫名 WITH NO_LOG
3. 收縮資料庫檔案
DBCC SHRINKFILE ('TestDB_log',1)
4. 截斷事務日誌
BACKUP LOG TestDB WITH NO_LOG
該命令在SQL Server 2008也是不支援,在SQL Server 2005和2000可以使用。