因为数据量较大,对数据库表操作比较多,日志的模式,又是完全模式,所以会产生较大的日志文件,那么怎么清理呢 下面给大家介绍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
标签:数据库,Server,点击,名称,SQL,GO,日志 From: https://blog.51cto.com/wangganggang90/7343585