sql数据库不断自动产生错误的日志修复办法

sql数据库不断自动产生错误的日志修复办法
sql数据库不断自动产生错误的日志修复办法

问题描述:

1、数据库的C盘路径下的数据库LOG文件夹里不断自动产生错误的日志文件(errorlog),在十分钟时间内就可以把C盘20G刷满,导致C盘空间不足,数据库服务无法正常访问;

处理办法:

1、在数据库中用dbcc checkdb命令检查数据库

可以发现数据库有xxx个表报一致性错误,如图:

截取部分输出如下:

mamdb34的DBCC 结果。

Service Broker 消息9675,状态1: 已分析的消息类型: 14。

Service Broker 消息9676,状态1: 已分析的服务约定: 6。

Service Broker 消息9667,状态1: 已分析的服务: 3。

Service Broker 消息9668,状态1: 已分析的服务队列: 3。

Service Broker 消息9669,状态1: 已分析的会话端点: 0。

Service Broker 消息9674,状态1: 已分析的会话组: 0。

Service Broker 消息9670,状态1: 已分析的远程服务绑定: 0。

sys.sysobjvalues的DBCC 结果。

消息8929,级别16,状态1,第1 行

对象ID 60,索引ID 1,分区ID 281474980642816,分配单元ID 281474980642816 (类型为In-row data): 在ID 为1786249216 的行外数据中发现错误,该数据由RID = (1:2754:0) 标识的data 记录所有

消息8961,级别16,状态2,第1 行

表错误: 对象ID 60,索引ID 1,分区ID 281474980642816,分配单元ID 71776119065149440 (类型为LOB data)。位于页(1:47613),槽0,文本ID 1786249216 的行外数据节点与它在页(1:2754),槽0 的引用不匹配。

消息8965,级别16,状态1,第1 行

表错误: 对象ID 60,索引ID 1,分区ID 281474980642816,分配单元ID 71776119065149440 (类型为LOB data)。位于页(1:85952),槽0,文本ID 1786249216 的行外数据节点由页(1:47613),槽0 引用,但扫描过程中未检测到该节点。

对象'sys.sysobjvalues' 的177 页中有845 行。

CHECKDB 在表'sys.sysobjvalues' (对象ID 60)中发现0 个分配错误和3 个一致性错误。CODE的DBCC 结果。

对象'CODE' 的1 页中有25 行。

COB_AG_COLUMN的DBCC 结果。

对象'COB_AG_COLUMN' 的0 页中有0 行。

COM_BASICINFO的DBCC 结果。

消息8961,级别16,状态3,第1 行

表错误: 对象ID 373576369,索引ID 1,分区ID 72057594044088320,分配单元ID 71800601762136064 (类型为LOB data)。位于页(1:10544),槽7,文本ID 96568737792 的行外数据节点与它在页(1:71065),槽5 的引用不匹配。

消息8974,级别16,状态1,第1 行

表错误: 对象ID 373576369,索引ID 1,分区ID 72057594044088320,分配单元ID 71800601762136064 (类型为LOB data)。位于页(1:88289),槽0,文本ID 96532561920 的行外数据节点未被引用。

消息8929,级别16,状态1,第1 行

对象ID 373576369,索引ID 1,分区ID 72057594044088320,分配单元ID 72057594048741376 (类型为In-row data): 在ID 为96497238016 的行外数据中发现错误,该数据由RID = (1:71065:5) 标识的data 记录所有

对象'COM_BASICINFO' 的1306 页中有15738 行。

CHECKDB 在表'COM_BASICINFO' (对象ID 373576369)中发现0 个分配错误和33 个一致性错误。

COM_KEYFRAME的DBCC 结果。

COB_FIELD69的DBCC 结果。

对象'COB_FIELD69' 的0 页中有0 行。

TSK_DOWNLOAD_FILE的DBCC 结果。

消息8935,级别16,状态1,第1 行

表错误: 对象ID 1509580416,索引ID 1,分区ID 380406838853632,分配单元ID 380406838853632 (类型为In-row data)。页(1:44864) 上的上一页链接(1:21160) 与父代(1:20707) 槽28 所预期的此页的上一页(1:45225) 不匹配。

消息8936,级别16,状态1,第1 行

表错误: 对象ID 1509580416,索引ID 1,分区ID 380406838853632,分配单元ID 380406838853632 (类型为In-row data)。B 树链链接不匹配。(1:45225)->next = (1:44864),但(1:44864)->Prev = (1:21160)。

消息8978,级别16,状态1,第1 行

表错误: 对象ID 1509580416,索引ID 1,分区ID 380406838853632,分配单元ID 380406838853632 (类型为In-row data)。页(1:45225) 缺少上一页(1:45226) 对它的引用。可能是因为链链接有问题。

消息8937,级别16,状态1,第1 行

表错误: 对象ID 1509580416,索引ID 1,分区ID 380406838853632,分配单元ID 380406838853632 (类型为In-row data)。B 树页(1:45226) 有两个父节点(1:43231),槽2 和(1:20707),槽26。

对象'TSK_DOWNLOAD_FILE' 的1351 页中有11092 行。

CHECKDB 在表'TSK_DOWNLOAD_FILE' (对象ID 1509580416)中发现0 个分配错误和4 个一致性错误。

TSK_QUICKLISTITEMS的DBCC 结果。

对象'TSK_QUICKLISTITEMS' 的0 页中有0 行。

SPM_FILE的DBCC 结果。

消息8961,级别16,状态3,第1 行

表错误: 对象ID 1591676718,索引ID 1,分区ID 72057594044612608,分配单元ID 72057594047627264 (类型为LOB data)。位于页(1:24758),槽8,文本ID 102380863488 的行外数据节点与它在页(1:45768),槽0 的引用不匹配。

消息8961,级别16,状态1,第1 行

表错误: 对象ID 1591676718,索引ID 1,分区ID 72057594044612608,分配单元ID 72057594047627264 (类型为LOB data)。位于页(1:24758),槽8,文本ID 102380863488 的行外数据节点与它在页(1:45768),槽0 的引用不匹配。

消息8929,级别16,状态1,第1 行

对象ID 1591676718,索引ID 1,分区ID 72057594044612608,分配单元ID 72057594049658880 (类型为In-row data): 在ID 为96496844800 的行外数据中发现错误,该数据由RID = (1:45768:0) 标识的data 记录所有

消息8929,级别16,状态1,第1 行

对象ID 1591676718,索引ID 1,分区ID 72057594044612608,分配单元ID 72057594049658880 (类型为In-row data): 在ID 为96496910336 的行外数据中发现错误,该数据由RID = (1:45768:1) 标识的data 记录所有

对象'SPM_FILE' 的4878 页中有41223 行。

CHECKDB 在表'SPM_FILE' (对象ID 1591676718)中发现0 个分配错误和13 个一致性错误。

COB_E_DOC的DBCC 结果。

对象'COB_E_DOC' 的0 页中有0 行。

CHECKDB 在数据库'xxxxx' 中发现0 个分配错误和53 个一致性错误。

对于由DBCC CHECKDB (xxxxx)发现的错误,repair_allow_data_loss 是最低的修复级别。DBCC 执行完毕。如果DBCC 输出了错误信息,请与系统管理员联系。

2、用容许丢失数据的方法修复数据库:

DBCC CHECKDB('数据库名',REPAIR_ALLOW_DATA_LOSS)

用该语句的前提必须将xxxxx库设置成单用户模式。

具体语句如下

use master

alter database xxxxx set EMERGENCY ----------设置xxxx库为紧急模式

go

sp_dboption 'xxxxx', 'single user', 'true'---------设置xxxxx库为单用户模式

go

dbcc checkdb('xxxxxx','REPAIR_ALLOW_DATA_LOSS') -------修复数据库

go

alter database xxxxxx set online –-----重新设置数据库在线

go

sp_dboption 'xxxxx', 'single user', 'false'–----------取消imamdb34库的单用户方式go

修复结果如图:

相关主题
相关文档
最新文档