************************************************************ * Sql Server 2008 R2 清空数据库中ldf日志文件 * 将Whir_InternalSystem替换为您要操作的数据库即可 ************************************************************ USE [master] ALTER DATABASE [Whir_InternalSystem] SET RECOVERY SIMPLE WITH NO_WAIT --设置为简单模式,只有在简单模式下才可以删除 ALTER DATABASE [Whir_InternalSystem] SET RECOVERY SIMPLE GO USE [Whir_InternalSystem] DECLARE @logname VARCHAR(150) SELECT @logname = NAME FROM sys.database_files WHERE NAME LIKE'%log' DBCC SHRINKFILE(@logname, 11, TRUNCATEONLY) GO USE [master] ALTER DATABASE [Whir_InternalSystem] SET RECOVERY FULL WITH NO_WAIT --删除完毕之后,恢复为完整模式 ALTER DATABASE [Whir_InternalSystem] SET RECOVERY FULL GO
以上经测试过可用。但是还是产生1400多M的数据。 最好的方法还是下面这个:我己测试过.没有问题.
1. 找到待清理数据库的实体文件,在硬盘中的路径,例如:C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\,其中dayang.mdf为数据文件, dayang_log.ldf为日志文件。最终目标是:清除LDF文件释放硬盘空间 2. 在企业管理器中右键点击该数据库→任务→分离。 提示:分离数据库有风险,一定要在分离前进行数据库备份!!! 3. 确保没有用户对该数据库进行操作,如果有人使用,点击清除,之后确定。分离数据库完成。(注意:在执行分离数据库之前,建议拔掉SQL SERVER数据库服务器的网线,以保障后续过程不会有其它进程操作数据库。否则,一旦在下述配置过程中,有进程访问数据库,将造成数据库崩溃,请特别注意) 4. 查看数据库实体文件,可以看到dayang.mdf,dayang_log.ldf的修改时间为当前时间。 5. 将dayang_log.ldf文件重命名。这里将其扩展名后面输入数字123。 6. 在企业管理器中,右键点击数据库→附加。 7.点击添加按钮,选中刚才分离出来的dayang.mdf文件,如下图所示。日志文件状态消息提示找不到。删除日志所在行,点击确定。附加数据库完成。
|