分享

SQL SERVER2008删除数据库日志文件

 康达书屋 2019-02-14

************************************************************
 * 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文件,如下图所示。日志文件状态消息提示找不到。删除日志所在行,点击确定。附加数据库完成。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多