当前位置: 代码迷 >> SQL >> SQL Server 2008 抽缩日志 清空删除大日志文件
  详细解决方案

SQL Server 2008 抽缩日志 清空删除大日志文件

热度:201   发布时间:2016-05-05 09:48:24.0
SQL Server 2008 收缩日志 清空删除大日志文件

SQL2008 的收缩日志?
由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:
(SQL2005)
BackupLog?DNName?with?no_log
go
dumptransaction?DNName?with?no_log
go
USE?DNName?
DBCC?SHRINKFILE (2)
Go
--------------------------------------------------------------
(SQL2008):
在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。

方案一:完全命令模式
USE[master]
????
GO
????
ALTERDATABASE?DNName?SET?RECOVERY SIMPLE?WITH?NO_WAIT
????
GO
????
ALTERDATABASE?DNName?SET?RECOVERY SIMPLE???--简单模式
????GO
????
USE?DNName?
????
GO
????
DBCC?SHRINKFILE (N'DNName_Log'?,?11, TRUNCATEONLY)
????
GO
????
USE[master]
????
GO

????
ALTERDATABASE?DNName?SET?RECOVERY?FULLWITH?NO_WAIT

????
GO

????
ALTERDATABASE?DNName?SET?RECOVERY?FULL??--还原为完全模式

????
GO
方案二:图形化操作(单个数据库)

1. 把数据库改为简单模式

2. 右键数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至**M,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了(建议在200~300M,以防止需要恢复使用)

3. 还原为完全模式

?

  相关解决方案