❶ MSSQL 清空日誌 刪除日誌文件
最近的項目主要做數據的歸檔 把數據從一個資料庫拉到另一個資料庫 造成新資料庫的日誌文件非常大 或者資料庫在使用過程中會使日誌文件不斷 增加 使得資料庫的性能下降 並且佔用大量的磁碟空間 於是想把日誌文件刪除 最簡單就是先分離資料庫 》刪除日誌文件 》最後附加數據 我這里需要在 SSIS中調用 所以已羨輪殲sql腳本為主
兩種簡單的清除日誌的方法
一分離附加法 首先把資料庫分離 分離資料庫之前一定要做好資料庫的全備份 選擇資料庫——右鍵——任務——分離 其中葯勾選刪除連接!
分離後在資料庫列表將看不到已分離的資料庫 刪除資料庫的LOG文件資料庫文件夾下的對應資料庫的 ldf文件 附加資料庫 附加的時候會提醒找不到log文件 到時附加上後會自動創建一個新的日誌文件 從而達到清理資料庫的目的
二 sql語句清除mssql日誌 DUMP TRANSACTION TestDB WITH NO_LOG 清除日誌 DBCC SHRINKFILE ( TestDB_log ) 收縮資料庫文件 BACKUP LOG TestDB WITH NO_LOG 截兄沖斷事務日誌 該命令在SQL Server 也桐滑是不支持 在SQL Server 和 可以使用
首先我們需要獲取資料庫文件的路徑
declare @logfilename varchar( ) declare @datafilename varchar( ) select @logfilename=physical_name from sys database_files where type= select @datafilename=physical_name from sys database_files where type=
然後切換到master下 分離資料庫
use master exec sp_detach_db @dbname= TestVFA ;
緊接下來就是刪除資料庫 日誌文件 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 最後就是附加資料庫 exec sp_attach_single_file_db @dbname= TestVFA @physname=@datafilename
注意 默認Ole Automation Proceres 是禁用的我們需要啟用它
lishixin/Article/program/MySQL/201311/29584