西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)西西教程數(shù)據(jù)庫(kù)教程 → MSSQL 清空日志 刪除日志文件

MSSQL 清空日志 刪除日志文件

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2013/7/3 20:23:43字體大小:A-A+

作者:西西點(diǎn)擊:157次評(píng)論:0次標(biāo)簽: MSSQL

  • 類型:數(shù)據(jù)庫(kù)類大小:3.1M語(yǔ)言:英文 評(píng)分:6.6
  • 標(biāo)簽:
立即下載

最近的項(xiàng)目主要做數(shù)據(jù)的歸檔,把數(shù)據(jù)從一個(gè)數(shù)據(jù)庫(kù)拉到另一個(gè)數(shù)據(jù)庫(kù),造成新數(shù)據(jù)庫(kù)的日志文件非常大;或者數(shù)據(jù)庫(kù)在使用過(guò)程中會(huì)使日志文件不斷增加,使得數(shù)據(jù)庫(kù)的性能下降,并且占用大量的磁盤空間。于是想把日志文件刪除。最簡(jiǎn)單就是先分離數(shù)據(jù)庫(kù)-》刪除日志文件-》最后附加數(shù)據(jù),我這里需要在SSIS中調(diào)用,所以已sql腳本為主。

兩種簡(jiǎn)單的清除日志的方法:

一分離附加法:
1、首先把數(shù)據(jù)庫(kù)分離,分離數(shù)據(jù)庫(kù)之前一定要做好數(shù)據(jù)庫(kù)的全備份,選擇數(shù)據(jù)庫(kù)——右鍵——任務(wù)——分離,其中藥勾選刪除連接!

分離后在數(shù)據(jù)庫(kù)列表將看不到已分離的數(shù)據(jù)庫(kù)。

2、刪除數(shù)據(jù)庫(kù)的LOG文件數(shù)據(jù)庫(kù)文件夾下的對(duì)應(yīng)數(shù)據(jù)庫(kù)的 ldf文件

3、附加數(shù)據(jù)庫(kù),附加的時(shí)候會(huì)提醒找不到log文件。到時(shí)附加上后會(huì)自動(dòng)創(chuàng)建一個(gè)新的日志文件,從而達(dá)到清理數(shù)據(jù)庫(kù)的目的

二、sql語(yǔ)句清除mssql日志

DUMP TRANSACTION TestDB WITH NO_LOG 清除日志

DBCC SHRINKFILE ('TestDB_log',1) 收縮數(shù)據(jù)庫(kù)文件

BACKUP LOG TestDB WITH NO_LOG 截?cái)嗍聞?wù)日志

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

首先我們需要獲取數(shù)據(jù)庫(kù)文件的路徑:

 declare @logfilename varchar(100)
 declare @datafilename varchar(100)
select @logfilename=physical_name from sys.database_files where type=1
select @datafilename=physical_name from sys.database_files where type=0

然后切換到master下,分離數(shù)據(jù)庫(kù)

use master
exec sp_detach_db @dbname='TestVFA';

緊接下來(lái)就是刪除數(shù)據(jù)庫(kù) 日志文件
----Remove file
DECLARE @Result int
DECLARE @FSO_Token int
EXEC @Result = sp_OACreate 'Scripting.FileSystemObject', @FSO_Token OUTPUT
EXEC @Result = sp_OAMethod @FSO_Token, 'DeleteFile', NULL, @logfilename
EXEC @Result = sp_OADestroy @FSO_Token
最后就是附加數(shù)據(jù)庫(kù)
exec sp_attach_single_file_db @dbname='TestVFA',@physname=@datafilename

注意:默認(rèn)Ole Automation Procedures 是禁用的我們需要啟用它

exec sp_configure 'show advanced options', 1;
RECONFIGURE;
exec sp_configure 'Ole Automation Procedures',1;
RECONFIGURE;

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)