sql server 回收日志空间

发布时间 2023-04-07 11:26:45作者: 刚好遇见Mysql

-- sql server 2012

1、查询数据库名
SELECT DB_NAME(database_id) AS [Database Name],[Name] AS [Logical Name],[Physical_Name] AS [Physical Name],((size * 8) / 1024) AS [Size(MB)]
FROM sys.master_files
ORDER BY [Size(MB)] DESC
2、查看日志文件空间是否可回收【只有log_reuse_wait_desc是NOTHING状态才可回收】
SELECT [name] ,[log_reuse_wait_desc] FROM master.sys.databases WHERE [name]='数据库名【第1步获取】'
如果不为NOTHING,设置数据库恢复模式为简单模式
ALTER DATABASE BRNC65 SET RECOVERY SIMPLE;
3、回收日志
--图形化
在数据库右键 --> 任务 --> 收缩 -->文件 -->文件类型选择【日志】 --> 将文件收缩到2MB,点确定按钮
--命令行
USE tablename -- 要操作的数据库名
SELECT @LogicalFileName = 'tablename_log', -- 日志文件名
@MaxMinutes = 10, -- Limit on time allowed to wrap log.
@NewSize = 2 -- 你想设定的日志文件的大小(M)

参考sql server牛人 https://www.cnblogs.com/VicLiu/p/16126013.html