• 欢迎访问水熊虫网站,这里是我个人的工作博客,内容大多是遇到问题完善后,会在这里进行总结归纳内容! QQ群
  • Git主题现已支持滚动公告栏功能,兼容其他浏览器,看到的就是咯,在后台最新消息那里用li标签添加即可。
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址

删除数据库or收缩数据库日志文件的方法

MSSQL WaterBear 2年前 (2017-09-20) 159次浏览 已收录 扫描二维码

删除数据库or收缩数据库日志文件的方法有两种:
[v_organge]方法一:手工操作
方法二:存储过程代替手工操作[/v_organge]

方法一:手工操作

1.数据库->右键->属性->选项-恢复模式->由完成切换成简单

删除数据库or收缩数据库日志文件的方法

删除数据库or收缩数据库日志文件的方法

删除数据库or收缩数据库日志文件的方法

2.数据库->右键->任务->收缩-文件->由完成切换成简单->文件类型->选择日志->选择将文件收缩到(自定义文件大小)

删除数据库or收缩数据库日志文件的方法

删除数据库or收缩数据库日志文件的方法

方法二:存储过程代替手工操作(未测试过,请备份好数据库在操作)

1.在数据库中执行下面的存储过程

    --日志文件收缩至多少M
    DECLARE @DBLogSise AS INT
    SET @DBLogSise=0
    --查询出数据库对应的日志文件名称
    DECLARE @strDBName AS NVARCHAR(500)
    DECLARE @strLogName AS NVARCHAR(500)
    DECLARE @strSQL AS VARCHAR(1000)
    
    SELECT 
        @strLogName=B.name,
        @strDBName=A.name
    FROM master.sys.databases AS A
    INNER JOIN sys.master_files AS B
    ON A.database_id = B.database_id
    WHERE A.database_id=DB_ID() 
        
    SET @strSQL='
    --设置数据库恢复模式为简单
    ALTER DATABASE ['[email protected]+'] SET RECOVERY SIMPLE;
    --收缩日志文件
    DBCC SHRINKFILE ('''[email protected]+''' , '+CONVERT(VARCHAR(20),@DBLogSise)+');
    --恢复数据库还原模式为完整
    ALTER DATABASE ['[email protected]+'] SET RECOVERY FULL '
    exec(@strSQL)

2.然后再执行 EXEC dbo.usp_p_delDBLog @DBLogSise = 0 (收缩至多少M)


WaterBear , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:删除数据库or收缩数据库日志文件的方法
喜欢 (0)
[[email protected]]
分享 (0)