SQL Server數據庫都有日誌文件,記錄用戶修改數據庫的操作。您可以通過直接刪除日誌文件並清空日誌來清除數據庫日誌。
用MS數據庫的朋友都會知道壹個問題。c盤的空間很容易被占用。因為原來的系統盤分區比較小,這是因為數據庫在使用過程中會增加日誌文件的數量,會降低數據庫的性能,占用大量的磁盤空間。SQL Server數據庫都有日誌文件,記錄用戶修改數據庫的操作。您可以通過直接刪除日誌文件並清空日誌來清除數據庫日誌。
首先,刪除日誌
1.分離數據庫。在分離數據庫之前,必須對數據庫進行完整備份。選擇數據庫?右鍵?任務?分離。
選中刪除連接。
分離後,您將不會在數據庫列表中看到分離的數據庫。
2.刪除日誌文件
3.附加數據庫。附加時,會提醒您找不到日誌文件。
刪除數據庫信息的ldf文件:
附加數據庫後,將生成壹個新的日誌文件,新日誌文件的大小為504K。
您也可以通過命令完成上述操作:
使用master
exec sp _ detach _ db @ dbname = ' TestDB ';
exec sp _ attach _ single _ file _ db @ dbname = ' TestDB ',@physname='D:程序文件Microsoft SQL ServerM
SSQL10。SQL2008MSSQLDATATestDB.mdf
第二,清除日誌
SQL Server 2005和2000支持此命令,但SQL Server 2008不支持。
用NO_LOG轉儲事務TestDB
第三,收縮數據庫文件
DBCC收縮文件(' TestDB_log ',1)
第四,截斷事務日誌
使用NO_LOG備份日誌TestDB
SQL Server 2008不支持此命令,但可以在SQL Server 2005和2000中使用。
清除SQLServer2005的日誌文件
-最好備份日誌,以後可以通過日誌恢復數據。。以下是日誌處理方法。壹般不建議做第4步和第6步。第4步不安全,可能會損壞。
根據數據庫或丟失的數據,第六步,如果日誌達到上限,以後數據庫處理會失敗,只有清理日誌後才能恢復。-*/-下面所有的庫名都是指妳想要的。
被處理的數據庫的庫名是1。沒有_LOG2的空日誌轉儲事務庫名稱。截斷事務日誌:備份日誌庫名稱。
NO_LOG3。收縮數據庫文件(如果不壓縮,數據庫文件不會減少企業管理器-右鍵單擊要壓縮的數據庫-所有任務-收縮數據。
庫-收縮文件-選擇日誌文件-在收縮模式下選擇收縮到XXM,這裏會給出允許收縮的最小m數。直接輸入這個數字,是真的。
確定-選擇數據文件-選擇在縮小模式下縮小到XXM就可以了,這裏會給出允許縮小的最小m數。直接輸入該號碼並確認。
可以,妳也可以使用SQL語句來完成——收縮數據庫DBCC SHRINKDATABASE(庫名)——收縮指定的數據文件,1是文件號,可以通過這個。
找到壹個語句:select * from sysfiles DBCC收縮文件(1) 4。為了最小化日誌文件(如果是sql 7.0,這壹步只能在查詢點找到。
在解析器中)a .分離數據庫:企業管理器-服務器-數據庫-右鍵-分離數據庫b .刪除我的電腦中的日誌文件c .附加數據庫:企業。
管理器-服務器-數據庫-右鍵-附加數據庫這個方法會生成壹個新的日誌,大小只有500 k多或者使用代碼:下面的例子把pub分開,但是,
之後,將pubs中的壹個文件附加到當前服務器。a . detach EXEC sp _ detach _ db @ dbname = ' library name ' b .刪除日誌文件c .然後
attach exec sp _ attach _ single _ file _ db @ dbname = ' library name ',@ phys name = ' c:program files Microsoft SQL server。
MSSQLData庫名稱。mdf'5。為了以後自動收縮,進行如下設置:企業管理器-服務器-右鍵數據庫-屬性-選項-選擇“自動收集”
縮寫"- SQL語句設置方法:EXEC sp_dboption '庫名',' autoshrink ',' TRUE'6。如果您希望防止其日誌在將來增長過多,企業管理器-服務器。
服務器-右鍵數據庫-屬性-事務日誌-限制文件增長到xM(x是妳允許的最大數據文件大小)- SQL語句設置方法:alter data。
基本庫名修改文件(name=邏輯文件名,maxsize=20)
長期使用SQL Server數據庫會導致日誌文件逐漸變大。很難備份數據庫並將其發送給任何人。
運行以下語句清除日誌文件,只剩下大約1M。
用NO_LOG轉儲事務數據庫名
DBCC SHRINKDATABASE('數據庫名稱',僅截斷)
刪除SQLServer系統日誌,而不重新啟動SQL服務。
SQLServer的系統日誌太大,會導致SQLServer啟動失敗等壹系列問題。今天遇到這個問題,在網上搜了壹下。
解決方法是刪除它,但是當前的ErrorLog正在被SQL使用,無法刪除。如果要刪除,只能停止SQL server。沒有別的辦法了嗎?
答案是肯定的:使用下面的存儲過程:EXEC sp_cycle_errorlog。
給…作註解
每次啟動SQL Server時,當前錯誤日誌都被重命名為Errorlog.1。Errorlog.1變成errorlog.2,errorlog.2變成errorlog.3,依此類推。Sp_cycle_errorlog使您能夠循環錯誤日誌文件,而無需停止和重新啟動服務器。