开发者

SQL Server数据库日志查看若已满需要清理的三种解决方案

开发者 https://www.devze.com 2024-08-13 12:51 出处:网络 作者: jamesdodo
首先查看获取实例中每个数据库日志文件大小及使用情况,根据数据库日志占用百分比来清理DjsBCC SQLPERF(LOGSPACE)

首先查看获取实例中每个数据库日志文件大小及使用情况,根据数据库日志占用百分比来清理

DjsBCC SQLPERF(LOGSPACE)

第一种解决方案:

在数据库上点击右键 → 选择 属性 → 选择 文件,然后增加数据库日志文件的文件大小。

SQL Server数据库日志查看若已满需要清理的三种解决方案

第二种解决方案

手动收缩日志文件。在数据库上点击右键 → 选择 属性 → 选择 选项,把模式改为简单

SQL Server数据库日志查看若已满需要清理的三种解决方案

然后收缩文件

SQL Server数据库日志查看若已满需要清理的三种解决方案

SQL Server数据库日志查看若已满需要清理的三种解决方案

收缩完了,要把模式改回完整,这样数据库才好继续记录日志

SQL Server数据库日志查看若已满需要清理的三种解决方案

第三种解决方案:

通过执行SQL语句来实现第二步手动操作的效果

-- 修改数据库恢复模式为【简单模式】
 
USE [master]
 
GO
 
ALTER DATABASE [目标数据库名称] SET RECOVERY SIMPLE WITH NO_WAIT
 
GO
 
 
USE [目标数据库名称]
 
GO
 
DBCC SHRphpINKFILE (N'数据库日志逻辑名称', 200)  --10指压缩后的大小
 
GO
 
-- 修改数据库恢复模式为【完整模式】
 
USE [master]
 
GO
 
ALTER DATABASE [目标数据库名称] SET RECOVERY FULL WITH NO_WAIT
 
GO

上面代码模板,有三个地方要改成你数据库的信息,分别是:MQbvwbogg目标数据库名称、数据库日志逻辑名称、10(这个指压缩后的日志文件大小),估计有人不知道哪里找数据库日志逻辑名称,如图:

SQL Server数据库日志查看若已满需要清理的三种解决方案

再放一个实际的代码:把erp数据库的日志文件(逻辑名称叫Xgoss_log),收缩成50MB

USE [master]
 
ALTER DATABASE [erp] SET RECOVERY SIMPLE WITH NO_WAIT
 
 
USE [erp]
 
DBCC SHRINKFILE (N'Xgosshttp://www.devze.com_log', 50)
 
 
USE [master]
 
ALTER DjavascriptATABASE [erp] SET RECOVERY FULL WITH NO_WAIT

到此这篇关于SQL Server数据库日志查看若已满需要清理的三种解决方案的文章就介绍到这了,更多相关SQL Server日志清理内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号