当前位置: 首页 > 知识 >正文

sql server 收缩日志(sql server 清空日志)

在UAT环境下搭建的sql server 2008 R2数据库一直正常使用,但是最近发现在Sharepoint里什么都做不了,开始觉得配置有问题(因为一直在研究一些新的应用和集成

需要不断测试),但是后来发现数据库硬盘没用了,自然就不能存储任何数据了,于是一开始就开始清理一些没用的数据库日志,磁盘空间多了几个g,但是第二天情况还是一样,数据库硬盘还是满的。

问题依然存在。我在后台仔细检查了所有数据库的容量(因为一开始我以为数据库空间每天增长太快,硬盘都满了),发现只有十几个G,而硬盘总空间是126G,于是我进一步检查这个磁盘空间,发现只有30 G多。

一开始,我觉得很疑惑。为什么我缺了近90G?后来发现是原来的windows账号。以前的登录帐户权限有限,无法获得磁盘的所有空间容量。因此,在使用管理员帐户登录后,

原来SQL SERVER有一个容量接近90G的错误日志。终于找到了磁盘满的原因,接下来就是如何解决了。

一开始我听了同事的建议,通过文件剪切粘贴的方式,直接把这个SQL SERVER错误日志文件移到了另一个硬盘上。折腾了几个小时,以失败告终,说明错误日志被系统进程占用,无法通过这种暴力的方式进行。

于是回到正轨,通过SQL SERVER维护命令操作,最终成功清除90G错误日志文件。具体流程如下:

因为默认情况下,SQL Server保存七个名为:

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也就是先进先出(queue也类似),这样六个周期后就可以刷新所有的errorlog了。

当查询窗口中出现以下错误消息时:

消息17049,级别16,状态1,过程sp_cycle_errorlog,第9行。

无法将错误日志文件从c:\ Program Files \ Microsoft SQL Server \ MSSQL 10 _ 50 .MSSQL server \ MSSQL \ Log \错误日志。5 '循环到c:\ Program Files \ Microsoft SQL Server \ MSSQL 10 _ 50 .MSSQL server \ MSSQL \ Log \错误日志。6 .

DBCC死刑执行完毕。如果DBCC输出错误消息,请联系系统管理员。

手动删除90G错误日志文件。

通过这样的经历,在实际工作中适当掌握一些SQL SERVER维护命令也是非常必要的,SQL SERVER的维护相对于ORACEL数据库来说也是比较简单的。

相关文章:
  • 4月6日基金净值:华安精致生活混合A最新净值1.2471,涨0.07%_基金频道_证券之星
  • 4月17日基金净值:汇添富均衡增长混合最新净值0.5945,涨0.64%
  • 5月23日基金净值:国泰中证畜牧养殖ETF最新净值0.7115,跌0.71%
  • 3月27日基金净值:嘉实多元动力混合A最新净值0.8769,涨0.86%_基金频道_证券之星
  • 民生加银基金债市一周观察:短期内资金仍处宽松环境,降息之后市场或期待宽信用
  • 5月11日基金净值:广发趋势优选灵活配置混合A最新净值1.6664,涨0.08%
  • 4月24日基金净值:汇添富均衡增长混合最新净值0.5775,跌1.48%
  • 4月19日基金净值:国富基本面优选混合最新净值1.4026,跌1%
  • 7月3日基金净值:汇添富盈鑫混合A最新净值1.927,跌0.31%
  • 7月6日基金净值:交银品质升级混合A最新净值1.9018,跌0.8%