1. 程式人生 > >SQLServer:刪除log檔案和清空日誌的方法

SQLServer:刪除log檔案和清空日誌的方法

    資料庫的效能是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可以使用。