資料庫的性能是DBA都需要重點關注的,日誌文件的增多嚴重影響資料庫的性能,本文將為您介紹SQLServer刪除日誌文件的方法,供您參考,希望對您有所幫助。
資料庫在使用過程中會使日誌文件不斷增加,使得資料庫的性能下降,並且佔用大量的磁碟空間。SQL Server資料庫都有log文件,log文件記錄用戶對資料庫修改的操作。可以通過直接刪除log文件和清空日誌在清除資料庫日誌。
1、刪除LOG
1.1 分離資料庫
分離資料庫之前一定要做好資料庫的全備份,選擇資料庫——右鍵——任務——分離。
附加資料庫之後將生成新的日誌文件log,新的日誌文件的大小事504K。
1.4 也可以通過命令才完成以上的操作
use master;
exec sp_detach_db @dbname='資料庫名';
exec sp_attach_single_file_db @dbname='資料庫名',@physname='D:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008MSSQLDATATestDB.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)
SQL Server中「數據收縮」詳解
4. 截斷事務日誌
BACKUP LOG TestDB WITH NO_LOG
該命令在SQL Server 2008也是不支持,在SQL Server 2005和2000可以使用。
2. 如何刪除SQL SERVER中的日誌文件
先分離要刪除日誌文件所屬資料庫,再查看該資料庫的屬性,找到文件位置,
刪除後綴名為「_log.ldf」的文件即可
3. SQL資料庫如何刪除日誌ldf
1、確定SQL資料庫安裝路徑與所用SQL資料庫名稱
2、點擊開始--程序--Microsoft
SQL
Server--查詢分析器--確定進入軟體里點擊菜單幫助--Transact-sql幫助(S)--索引--輸入(sp_attach_single_file_db),右邊對框里找下命令或者空白處直接輸入下命令:
EXEC
sp_detach_db
@dbname
=
'pubs'returnEXEC
sp_attach_single_file_db
@dbname
=
'pubs',
@physname
=
'c:\Program
Files\Microsoft
SQL
Server\MSSQL\Data\pubs.mdf'
注意:return加入命令語名資料庫(*.LDF與*.MDF)分離再資料庫名改回所要選即pubs改J2002即:
EXEC
sp_detach_db
@dbname
=
'
J2002'returnEXEC
sp_attach_single_file_db
@dbname
=
'
J2002',
@physname
=
'c:\Program
Files\Microsoft
SQL
Server\MSSQL\Data\
J2002.mdf'
3、輸入命令點擊菜單查詢--執行下面對框出現命令"命令已成功完成"
4、刪除命令(EXEC
sp_detach_db
@dbname
=
'
J2002'
return)進入安裝SQL資料庫路徑里J2002.ldf文件重命名
5、接著第3點開始點擊菜單查詢--執行下面對框出現命令"設備激活錯誤物理文件名
'C:\Program
Files\Microsoft
SQL
Server\MSSQL\Data\J200188.ldf'
能有誤已創建名
'c:\Program
Files\Microsoft
SQL
Server\MSSQL\Data\j200188_log.LDF'
新日誌文件"
4. 如何清空sql資料庫的日誌文件
其中database為你的庫名 --壓縮日誌
1:截斷事務日誌:
BACKUP LOG 資料庫名 WITH NO_LOG2:清空日誌DUMP TRANSACTION 庫名 WITH NO_LOG再:企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮文件--選擇日誌文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了3: 刪除LOG1:分離資料庫 企業管理器->伺服器->資料庫->右鍵->分離資料庫
2:刪除LOG文件
3:附加資料庫 企業管理器->伺服器->資料庫->右鍵->附加資料庫
此法生成新的LOG,大小隻有500多K
再將此資料庫設置自動收縮或用代碼:下面的示例分離 pubs,然後將 pubs 中的一個文件附加到當前伺服器。
EXEC sp_detach_db @dbname = 'pubs'
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:/Program Files/Microsoft SQL Server/MSSQL/Data/pubs.mdf'
4: 如果想以後不讓它增長
企業管理器--伺服器--右鍵資料庫--屬性--事務日誌--將文件增長限制為xM(x是你允許的最大數據文件大小)
--SQL語句的設置方式:
alter database 資料庫名 modify file(name=邏輯文件名,maxsize=20)
5.設置為自動收縮
5. 如何刪除sqlserver資料庫日誌文件
1、確定SQL資料庫的安裝路徑與所用的SQL資料庫名稱。2、點擊開始--程序--MicrosoftSQLServer--查詢分析器--確定,進入軟體里,點擊菜單幫助--Transact-sql幫助(S)--索引--輸入(sp_attach_single_file_db),在右邊對話框里找到以下的命令或者在空白處直接輸入以下的命令:EXECsp_detach_db@dbname='pubs'returnEXECsp_attach_single_file_db@dbname='pubs',@physname='c:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\pubs.mdf'注意:return是加入的命令語名,將資料庫(*.LDF與*.MDF)分離,再將資料庫名改回所要選的,即是pubs改為J2002。即是:EXECsp_detach_db@dbname='J2002'returnEXECsp_attach_single_file_db@dbname='J2002',@physname='c:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\J2002.mdf'3、輸入命令後,點擊菜單查詢--執行,下面對話框出現命令"命令已成功完成"。4、刪除命令(EXECsp_detach_db@dbname='J2002'return),進入安裝SQL資料庫路徑里將J2002.ldf文件重命名。5、接著第3點開始,點擊菜單查詢--執行,下面對話框出現命令"設備激活錯誤。物理文件名'C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\J200188.ldf'可能有誤。已創建名為'c:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\j200188_log.LDF'的新日誌文件"。
6. 幾種清除MSSQL日誌的方法
----語句清理:
ALTERDATABASE[資料庫]
SETRECOVERYSIMPLE
ALTERDATABASE[資料庫]
SETRECOVERYFULL
DBCCSHRINKDATABASE([資料庫],0)
7. 如何清除SQLserver 日誌
打開企業管理器,右鍵單擊你要刪除日誌的資料庫->屬性,選擇事務日誌,選擇你要刪除的日誌文件,點刪除。 記得備份
EXEC sp_detach_db @dbname = '資料庫名'
/*
先執行上面語句,再訪問到那個資料庫目錄下刪除日誌文件後,執行下面語句!
*/
EXEC sp_attach_single_file_db @dbname = '資料庫名',
@physname = 'd:\Microsoft SQL Server\MSSQL\Data\資料庫名'_Data.mdf'
8. sql server的日誌文件能不能刪除
資料庫在使用過程中會使日誌文件不斷增加,使得資料庫的性能下降,並且佔用大量的磁碟空間。SQL Server資料庫都有log文件,log文件記錄用戶對資料庫修改的操作。可以通過直接刪除log文件和清空日誌在清除資料庫日誌。
一、刪除LOG
1、分離資料庫。分離資料庫之前一定要做好資料庫的全備份,選擇資料庫——右鍵——任務——分離。
勾選刪除連接
分離後在資料庫列表將看不到已分離的資料庫。
2、刪除LOG文件
3、附加資料庫,附加的時候會提醒找不到log文件。
刪除資料庫信息信息的ldf文件:
附加資料庫之後將生成新的日誌文件log,新的日誌文件的大小事504K。
也可以通過命令才完成以上的操作:
use master;
exec sp_detach_db @dbname='TestDB';
exec sp_attach_single_file_db @dbname='TestDB',@physname='D:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\TestDB.mdf'
二、清空日誌
該命令在SQL Server 2005和2000支持,SQL Server 2008不支持該命令。
DUMP TRANSACTION TestDB WITH NO_LOG
三、收縮資料庫文件
DBCC SHRINKFILE ('TestDB_log',1)
四、截斷事務日誌
BACKUP LOG TestDB WITH NO_LOG
該命令在SQL Server 2008也是不支持,在SQL Server 2005和2000可以使用。
清除SQLServer2005的LOG文件
--最好備份日誌,以後可通過日誌恢復數據。。。
以下為日誌處理方法
一般不建議做第4,6兩步
第4步不安全,有可能損壞資料庫或丟失數據
第6步如果日誌達到上限,則以後的資料庫處理會失敗,在清理日誌後才能恢復.
--*/
--下面的所有庫名都指你要處理的資料庫的庫名
1.清空日誌
DUMPTRANSACTION 庫名 WITH NO_LOG
2.截斷事務日誌:
BACKUPLOG 庫名 WITH NO_LOG
3.收縮資料庫文件(如果不壓縮,資料庫的文件不會減小
企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮文件
--選擇日誌文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了
--選擇數據文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了
也可以用SQL語句來完成
--收縮資料庫
DBCC SHRINKDATABASE(庫名)
--收縮指定數據文件,1是文件號,可以通過這個語句查詢到:select * from sysfiles
DBCC SHRINKFILE(1)
4.為了最大化的縮小日誌文件(如果是sql 7.0,這步只能在查詢分析器中進行)
a.分離資料庫:
企業管理器--伺服器--資料庫--右鍵--分離資料庫
b.在我的電腦中刪除LOG文件
c.附加資料庫:
企業管理器--伺服器--資料庫--右鍵--附加資料庫
此法將生成新的LOG,大小隻有500多K
或用代碼:
下面的示例分離 pubs,然後將 pubs 中的一個文件附加到當前伺服器。
a.分離
EXEC sp_detach_db @dbname='庫名'
b.刪除日誌文件
c.再附加
EXEC sp_attach_single_file_db @dbname='庫名',
@physname='c:\Program Files\Microsoft SQL Server\MSSQL\Data\庫名.mdf'
5.為了以後能自動收縮,做如下設置:
企業管理器--伺服器--右鍵資料庫--屬性--選項--選擇"自動收縮"
--SQL語句設置方式:
EXEC sp_dboption '庫名', 'autoshrink', 'TRUE'
6.如果想以後不讓它日誌增長得太大
企業管理器--伺服器--右鍵資料庫--屬性--事務日誌
--將文件增長限制為xM(x是你允許的最大數據文件大小)
--SQL語句的設置方式:
alterdatabase 庫名 modify file(name=邏輯文件名,maxsize=20)
SQL Server 資料庫使用時間一長就會導致Log文件逐漸變的龐大, 想備份一下資料庫, 想發給誰都很困難
運行下面的語句就可以 清到Log文件只剩下1M左右的空間.
DUMP TRANSACTION 資料庫名 WITH NO_LOG
DBCC SHRINKDATABASE('資料庫名',TRUNCATEONLY)
不重啟SQL服務,刪除SQLServer系統日誌
SQLServer的系統日誌過大,就會引起SQLServer伺服器無法啟動等一系列問題。今天我遇到了這個問題,在網上搜索了一下,解決方法是刪除就 可以了,可是當前的ErrorLog正在被SQL使用無法刪除啊,要刪除只能停止SQL伺服器,難道就沒有別得辦法了嗎?
回答是肯定的:使用以下存儲過程:EXEC sp_cycle_errorlog
注釋
每次啟動 SQL Server時,當前錯誤日誌重新命名為 errorlog.1;errorlog.1 成為 errorlog.2,errorlog.2 成為 errorlog.3,依次類推。sp_cycle_errorlog 使您得以循環錯誤日誌文件,而不必停止而後再啟動伺服器。
9. 如何自動清除MSSQL日誌
使用SQL Server的企業管理器作一個維護計劃吧。使用向導就可以了,其中有步驟就是備份和清除日誌的。
10. MSSQL資料庫日誌清除方法
MS SQL資料庫在日誌滿了後會導致程序運行時出現錯誤,只有清除日誌後,才能正常運行,下面是本站提供得工具和方法,使用該工具,本站的合租用戶均可自行清除MS SQL資料庫的日誌。
1、從以下地址下載MsSql資料庫清除工具。
http://www.txdns.cn/MssqlLogDel.rar
2、下載解壓後,有個ASP文件(MssqlLogDel.asp),用文本編輯器打開該文件,修改以下幾行代碼中的資料庫相關配置:
Const SqlDatabaseName = dbname
Const SqlPassword = dbpass
Const SqlUsername = dbuser
Const SqlLocalName = (local)
dbname改成你開通的mssql資料庫名稱
dbpass改成你開通的mssql資料庫訪問密碼
dbuser改成你開通的mssql資料庫訪問用戶名
(local)改成你開通的mssql資料庫伺服器地址,如果資料庫在和該程序在同一伺服器,則不需要修改,用(local)即可。
3、將MssqlLogDel.asp上傳到你的網站任意目錄下,然後通過瀏覽器訪問該文件即可清除資料庫日誌。譬如你放在網站http www.abc.com的根目錄下,則在瀏覽器中輸入地址:http//:www.abc.com/MssqlLogDel.asp後訪問,即可清除你的資料庫日誌。
注意:
1、只有MSsql資料庫需要清除日誌,MYSQL資料庫不需要清除日誌。
2、該程序只能在支持Asp的網站使用
3、為了安全,日誌清除後,請將MssqlLogDel.asp刪除,下次使用時再次上傳即可。