一、mssql 2005及以前的版本比較簡(jiǎn)單直接運(yùn)行:
backup log database_name with no_log
dump transaction database_name with no_log
dbcc shrinkdatabase (database_name)
二、mssql2008以上命令不適用了可以按以下步驟處理
1.將數(shù)據(jù)庫(kù)設(shè)置成簡(jiǎn)單模式
步驟:選擇要清理日志的數(shù)據(jù)庫(kù),右鍵點(diǎn)擊–》屬性–》選項(xiàng),選擇簡(jiǎn)單模式
2.進(jìn)行日志清理收縮
操作步驟:選擇要清理日志的數(shù)據(jù)庫(kù),右鍵點(diǎn)擊–》任務(wù)–》收縮–》文件
3.選擇日志,再選擇–在釋放未使用的空間前重新組織頁(yè),然后填寫(xiě)收縮后的日志大小,點(diǎn)擊確定即可。
4.將數(shù)據(jù)庫(kù)設(shè)置成完整模式
步驟:選擇要清理日志的數(shù)據(jù)庫(kù),右鍵點(diǎn)擊–》屬性–》選項(xiàng),選擇完整模式
此步驟相對(duì)的mssql命名如下:
USE [master]
GO
ALTER DATABASE [database_name] SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE [database_name] SET RECOVERY SIMPLE –簡(jiǎn)單模式
GO
USE [database_name]
GO
DBCC SHRINKFILE (N’database_name_log’ , 1, TRUNCATEONLY)–database_name_log注意不一定是數(shù)據(jù)庫(kù)日志文件名是結(jié)構(gòu)名
GO
USE [master]
GO
ALTER DATABASE [database_name] SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE [database_name] SET RECOVERY FULL –還原為完全模式
三、如果以上都無(wú)法處理,此情況比較少見(jiàn)可以通過(guò)以下步驟操作
1,首先備份好數(shù)據(jù)文件和日志文件到其他目錄
2,分離數(shù)據(jù)庫(kù)
3,分離后刪除對(duì)應(yīng)的數(shù)據(jù)庫(kù)日志文件然后重新附加,注意此處由于刪除了日志文件的,附加是要?jiǎng)h除日志文件,附加完成后會(huì)生成新的日志文件一般不到1M