SQL Server 日志清理
  F2PYOCo6IMW2 2023年11月13日 19 0

因为数据量较大,对数据库表操作比较多,日志的模式,又是完全模式,所以会产生较大的日志文件,那么怎么清理呢 下面给大家介绍3种方式: 1、执⾏SQL命令 先查询日志中文件名和大小

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

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

USE [master] GO ALTER DATABASE [数据库名称] SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE [数据库名称] SET RECOVERY SIMPLE --简单模式 GO USE [数据库名称] ----指定需要清除⽇志的数据库名称 GO DBCC SHRINKFILE (N'数据库⽇志名称' , 1) ----指定需要清除⽇志的数据库名⽇志名称 GO ALTER DATABASE [数据库名称] SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE [数据库名称] SET RECOVERY FULL --还原为完全模式

2、数据库终端操作 打开数据库客户端,选择具体数据库 点击数据库,右键选择【属性】 在弹出窗⼝左侧点击【选项】,将【恢复模式】改为【简单】,点击确定保存 点击数据库,右键选择【任务】-【收缩】-【⽂件】 在弹出窗⼝中,【⽂件类型】选择【⽇志】,点击确定即可 点击数据库,右键选择【属性】 在弹出窗⼝左侧点击【选项】,将【恢复模式】恢复为【完成】,点击确定保存 3、删除⽇志⽂件   直接删除⽇志⽂件。此种⽅式可能会遇到“当前⽇志正在被SQL Server使⽤⽆法删除”的问题,此时,需要停⽌SQL Server服务,才能进⾏删除。


数据库日记清除脚本 EXEC sp_cycle_errorlog go --连续执行7次。 每执行一次就会产生一个新的errorlog,首先删除errorlog.6,依次往下删,就是先进先出(队列类似的情况) 这样连续执行7次就可以把errorlog都刷新一遍。老的那些就被删掉了。 最后看了系统的日志,发现这些错误日志是由于一些莫名其妙的主机不断的在连我的服务器,审核不成功产生的。 由于默认情况下,SQL Server 保存 7 个 ErrorLog 文件,名为: ErrorLog ErrorLog.1 ErrorLog.2 ErrorLog.3 ErrorLog.4 ErrorLog.5 ErrorLog.6

–清除 SQL Server 错误日志文件 存档 EXEC sp_cycle_errorlog GO

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  eHipUjOuzYYH   2023年12月10日   26   0   0 mysqlsqlUser
  hHWnOnebRjW2   2023年11月27日   23   0   0 PostgreSQLsqlbash
  9JCEeX0Eg8g4   2023年11月28日   15   0   0 主数据数据库mysql
F2PYOCo6IMW2