天天看點

SQL SERVER資料庫删除LOG檔案和清空日志的方案

資料庫在使用過程中會使日志檔案不斷增加,使得資料庫的性能下降,并且占用大量的磁盤空間。SQL Server資料庫都有log檔案,log檔案記錄使用者對資料庫修改的操作。可以通過直接删除log檔案和清空日志在清除資料庫日志。

一、删除LOG

1、分離資料庫。分離資料庫之前一定要做好資料庫的全備份,選擇資料庫——右鍵——任務——分離。

SQL SERVER資料庫删除LOG檔案和清空日志的方案

勾選删除連接配接

SQL SERVER資料庫删除LOG檔案和清空日志的方案

分離後在資料庫清單将看不到已分離的資料庫。

2、删除LOG檔案

3、附加資料庫,附加的時候會提醒找不到log檔案。

SQL SERVER資料庫删除LOG檔案和清空日志的方案
SQL SERVER資料庫删除LOG檔案和清空日志的方案

删除資料庫資訊資訊的ldf檔案:

SQL SERVER資料庫删除LOG檔案和清空日志的方案

附加資料庫之後将生成新的日志檔案log,新的日志檔案的大小事504K。

也可以通過指令才完成以上的操作:

二、清空日志

該指令在SQL Server 2005和2000支援,SQL Server 2008不支援該指令。

三、收縮資料庫檔案

四、截斷事務日志

該指令在SQL Server 2008也是不支援,在SQL Server 2005和2000可以使用。

SQL Server 資料庫使用時間一長就會導緻Log檔案逐漸變的龐大, 想備份一下資料庫, 想發給誰都很困難

運作下面的語句就可以 清到Log檔案隻剩下1M左右的空間.

DUMP TRANSACTION 資料庫名 WITH NO_LOG

DBCC SHRINKDATABASE('資料庫名',TRUNCATEONLY)

SQLServer的系統日志過大,就會引起SQLServer伺服器無法啟動等一系列問題。今天我遇到了這個問題,在網上搜尋了一下,解決方法是删除就 可以了,可是目前的ErrorLog正在被SQL使用無法删除啊,要删除隻能停止SQL伺服器,難道就沒有别得辦法了嗎?

   回答是肯定的:使用以下存儲過程:EXEC   sp_cycle_errorlog

注釋  

  每次啟動 SQL Server時,目前錯誤日志重新命名為   errorlog.1;errorlog.1   成為  errorlog.2,errorlog.2   成為   errorlog.3,依次類推。sp_cycle_errorlog   使您得以循環錯誤日志檔案,而不必停止而後再啟動伺服器。