服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - SQLServer 清理日志的实现

SQLServer 清理日志的实现

2023-03-27 15:28 Sql Server

本文主要介绍了SQLServer 清理日志的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

本文以sql2012为例

第一步,(查询日志中文件名和大小):

?
1
2
3
USE 数据库名
GO
SELECT file_id, name,size,* FROM sys.database_files;

SQLServer 清理日志的实现

查询结果如上图所示,可以看到其中name字段为日志文件名,size是日志大小,接下来就可以执行清理日志操作。值得注意的是,清理日志必须先将数据库转成简单模式,清理后再将数据库置为完全模式,具体的语句如下:

 第二步,清理:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
USE [master]
GO
ALTER DATABASE 数据库名 SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE 数据库名 SET RECOVERY SIMPLE --简单模式
GO
USE 数据库名
GO
DBCC SHRINKFILE (N'文件名' , 11, TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE 数据库名 SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE 数据库名 SET RECOVERY FULL --还原为完全模式
GO

其中文件名为第一步中查询出的name字段对应的内容。清理完成后,会发现日志的size变小了。

到此这篇关于SQLServer 清理日志的实现的文章就介绍到这了,更多相关SQLServer 清理日志内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/u010025127/article/details/128313484

延伸 · 阅读

精彩推荐