清除SQL SERVER错误日志出现操作系统错误的解决方法
之前在uat环境搭建的sql server 2008 r2数据库一直用得比较正常,但最近发现在sharepoint中不能进行任何操作了,开始以为是什么配置出了问题(因为一直在研究一些新的应用和集成,需要不断地测试),但后来发现是数据库硬盘没用一点空间了,那么自然是不能存任何数据了,所以最先开始清理一些无用的数据库日志,磁盘空间多了几个g的容量,但是等到第二天情况依然如此,数据库硬盘还是满了,问题依旧存在,后台仔细检查了一下所有数据库的容量(因为最初以为是数据库空间每天增长太快了把硬盘占满了),发现才十几个g的,而硬盘总空间有126g,因此进一步检查了这个磁盘空间,发现才三十多个g,一开始感觉很纳闷,为什么会缺少将近90g呢?后来发现是原来windows账号的关系,之前用的登录账号权限有限,无法获取磁盘的所有空间容量,因此换了管理员的账号登录后,发现原来是sql server有一个错误日志的容量将近90g,总算找到磁盘满的原因了,下一步就是如何去解决它。
一开始听了同事的建议,直接通过文件剪贴的方式把这个sql server 错误日志文件直接移动到另外一个硬盘上,折腾了好几个小时最终以失败告终,说明错误日志被系统进程占用着,并不能通过这个暴力方式进行,因此走回正轨,通过sql server维护命令进行操作,最终成功清除了90g的错误日志文件,具体过程如下:
由于默认情况下,sql server 保存 7 个 errorlog 文件,名为:
errorlog
errorlog.1
errorlog.2
errorlog.3
errorlog.4
errorlog.5
errorlog.6
--清除 sql server 错误日志文件 存档
exec sp_cycle_errorlog
go
执行一次exec sp_cycle_errorlog就会产生一个新的errorlog,然后把errorlog.6给删掉。就是先进先出(队列类似的情况)这样循环6次就可以把errorlog都刷新一遍。
当查询窗口中,出现以下错误信息时:
消息 17049,级别 16,状态 1,过程 sp_cycle_errorlog,第 9 行
由于出现操作系统错误 '5(拒绝访问。)',无法将错误日志文件从 'c:\program files\microsoft sql server\mssql10_50.mssqlserver\mssql\log\errorlog.5' 循环到 'c:\program files\microsoft sql server\mssql10_50.mssqlserver\mssql\log\errorlog.6'。sql server 外部的进程可能会阻止 sql server 读取这些文件。因此,错误日志条目可能已丢失,并且或许不可能查看某些 sql server 错误日志。请确保任何其他进程都未将该文件锁定为只写访问。"
dbcc 执行完毕。如果 dbcc 输出了错误信息,请与系统管理员联系。
手工删除那个90g的错误日志文件即可。
通过本次的经历,适当掌握一些sql server维护命令在实际工作上也非常有必要的,而且相对于oracel数据库,sql server的维护要相对简单一些。
上一篇: 什么是微博营销?微博营销有哪三大优势
下一篇: 喜马拉雅怎么使用兑换码兑换优惠券?
推荐阅读
-
清除SQL SERVER错误日志出现操作系统错误的解决方法
-
sql2008 附加数据库时出现错误5123提示的解决方法
-
MS SQL Server数据库清理错误日志的方法
-
SQL Server创建维护计划失败(SQL Server:14234 错误)的解决方法
-
sql server 2005因架构无法删除用户错误15138的解决方法
-
SQL Server 2000“设备激活错误”的解决方法
-
无法打开物理文件xxx.mdf操作系统错误 5:“5(拒绝访问。)” (Microsoft SQL Server,错误: 5120)的解决方法
-
SQL Server导入导出数据时最常见的一个错误解决方法
-
安装sql server 2008时的4个常见错误和解决方法
-
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器