清除SQL SERVER错误日志出现操作系统错误的解决方法_MsSql

之前在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的维护要相对简单一些。

时间: 2024-08-01 07:58:47

清除SQL SERVER错误日志出现操作系统错误的解决方法_MsSql的相关文章

清除SQL SERVER错误日志出现操作系统错误的解决方法

之前在UAT环境搭建的SQL SERVER 2008 R2数据库一直用得比较正常,但最近发现在Sharepoint中不能进行任何操作了,开始以为是什么配置出了问题(因为一直在研究一些新的应用和集成,需要不断地测试),但后来发现是数据库硬盘没用一点空间了,那么自然是不能存任何数据了,所以最先开始清理一些无用的数据库日志,磁盘空间多了几个G的容量,但是等到第二天情况依然如此,数据库硬盘还是满了,问题依旧存在,后台仔细检查了一下所有数据库的容量(因为最初以为是数据库空间每天增长太快了把硬盘占满了),发

清除SQL SERVER错误日志出现操作系统错误

  之前在UAT环境搭建的SQL SERVER 2008 R2数据库一直用得比较正常,但最近发现在Sharepoint中不能进行任何操作了,开始以为是什么配置出了问题(因为一直在研究一些新的应用和集成,需要不断地测试),但后来发现是数据库硬盘没用一点空间了,那么自然是不能存任何数据了,所以最先开始清理一些无用的数据库日志,磁盘空间多了几个G的容量,但是等到第二天情况依然如此,数据库硬盘还是满了,问题依旧存在,后台仔细检查了一下所有数据库的容量(因为最初以为是数据库空间每天增长太快了把硬盘占满了)

清除SQL SERVER错误日志出现操作系统错误的解决方案

之前在UAT环境搭建的SQL SERVER 2008 R2数据库一直用得比较正常,但最近发现在Sharepoint中不能进行任何操作了,开始以为是什么配置出了问题(因为一直在研究一些新的应用和集成,需要不断地测试),但后来发现是数据库硬盘没用一点空间了,那么自然是不能存任何数据了,所以最先开始清理一些无用的数据库日志,磁盘空间多了几个G的容量,但是等到第二天情况依然如此,数据库硬盘还是满了,问题依旧存在,后台仔细检查了一下所有数据库的容量(因为最初以为是数据库空间每天增长太快了把硬盘占满了),发

SQL server服务显示远程过程调用失败的解决方法_MsSql

 刚刚打开SQL Server 2008,想要新建一个数据库,却发现出现了一个问题,这个问题由于之前没有遇到过,所以下面整理解决SQL server服务远程调用失败的几个方法,供大家参考,具体内容如下 先看看出现的问题: 出现上面这个错误的原因可能是由于咱们在装VS2012或者其他版本的时候,这个VS会自动装"Microsoft SQL Server 2013(2012) ExpressLocalDB"服务,所以导致SQL server2008,中SQL server服务显示远程过程调

SQL Server评估期已过问题的解决方法_MsSql

但是,当自己打开之前敲的系统时,总是报错,无法进行.经过检查发现,原来是自己的数据库出现了问题,无法连接到数据库了.打开Sql Server2008,总是报这样的错误提示:                      问题出现了,就得解决,于是开始上网查找信息.还真找到了相关的解决办法,跟着步骤一步步的进行,但是还是无法修复.这下可让我着急了,因为装SQL server是一件很麻烦的事情,还要将之前的卸载干净,有的人因为卸载不净而重装系统.不过还好,在多方搜索之后找到了解决办法. 解决方法:打开配

SQL Server阻止保存修改表结构的解决方法_MsSql

在我们的程序开发中,有时候会由于需求的变化而要修改数据库中的表结构.可能是增减列,也可能是修改数据类型,或者修改列名等等.但修改表结构是个危险操作,默认情况下,当你修改表结构时,会弹出如下提示框 上图是修改DeUser表中列的数据类型(从varchar修改为int),然后保存时弹出的提示框.如果我们不想重新创建这张表,只是想在原有的基础上修改它的结构该怎么办呢? 步骤如下: 步骤1.打开SQL Server Management Studio 步骤2.选择Tools (工具菜单) 步骤3.选择O

IP连接SQL SERVER失败(配置为字符串失败)图文解决方法_MsSql

使用IP连接SQL SERVER或者配置为连接字符串失败 情景一:当在webconfig文件中使用 <add key="ConnectionString" value="server=127.0.0.1;database=数据库名;uid=sa;pwd=1"/>来连接数据库中,发现登陆时候无法正常登陆,出现了一大堆错误: 情景二: 或者当在连接SQL SERVER时候输入IP如下:   提示无法连接或者连接错误.   解决方案: 第一步:检查TCP/IP

SQL Server数据库复制失败的原因及解决方法_MsSql

在SQL Server数据库操作中,对数据库复制时出现了以下的错误,错误信息如下图所示: SQL Server数据库复制失败的原因及解决方案 出现上面的提示信息,会是什么原因导致的呢?笔者经过一番推敲终于找到了上述的原因. 原因:在复制数据库时,必须先停止mssqlserver服务,然后才能复制. 解决方法: 开始-->运行-->services.msc打开服务管理器,找到mssqlserver服务,然后停止该服务. 或者 开始-->运行-->cmd-->net stop m

SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)

原文:SQL Server自动化运维系列--监控磁盘剩余空间及SQL Server错误日志(Power Shell) 需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测.作为一个高效的DBA不可能每天都要上生产机上查看磁盘剩余或者直到磁盘无剩余空间报错后才采取扩容措施. 当然,作为微软的服务器有着自己的监控软件:SCCM(System Center