mssql sqlserver mdmp文件导致磁盘空间被占满


摘要:
作为系统维护人员,我们经常发现磁盘被占满的情况,这次磁盘被占满,我检查所有的事务日志文件,被部署在不同的盘符上,
通过仔细检查系统所有文件,发现是sqldump文件占用了大量的磁盘空间。



sqldump文件内容:
记录SQL Server中的某些内容不能按预期工作,并强制SQL终止该进程或终止其自身。

每个转储都生成了三个文件。其中文本和日志是可读的,但mdmp需要一个特殊的工具(Windows调试器)来读取它。
这是我在可读的文件中看到的。
SQLDump9999.txt
*********************************************** *********************************
* BEGIN STACK DUMP:
* 1/8/18 12:16:10 spid 33
* md5check2:引发异常,major = 52,minor = 42,state = 9,severity = 22
* *************************** ************************************************** *
——————————————————-
以上例外major = 52,minor = 42等于错误号5242.我使用下面的查询来查找含义。
——————————————————-
SELECT * FROM sys.messages
WHERE message_id = 5242 AND language_id = 1033
数据库’%。* ls’(ID:%d)在页面%S_PGID的内部操作期间检测到不一致。
———————————————————
这意味着数据库中存在不一致或损坏。现在问题是哪个数据库?于是,我捕获了Profiler并找到了具有数据库名称的消息。
当我们在数据库上运行DBCC CHECKDB时,它报告了损坏。
CHECKDB在数据库’**********’中发现了0个分配错误和420个一致性错误。