SQL Server 检测到基于一致性的逻辑 I/O 错误.....请执行完整的数据库一致性检查(DBCC CHECKDB)......

错误信息:

SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0xb11dc661,但实际为: 0x395240ca)。在文件 ‘D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\InterfaceInfo.mdf’ 中、偏移量为 0x000000232f8000 的位置对数据库 ID 7 中的页 (1:72060) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。

情况复现:

很久之前就出现了,解决掉,这次又出现了,做个备注说明,

起因是我的sqlserver有一段时间经常用于连接远程数据库,自己本地的实例有长达半年没连过,然后再次连接成功后 -> 打开库 -> 打开表 -> 挂掉,出现以上错误,由于我是所有表打开都是这种情况,所以肯定不是单表的原因,肯定是源于系统设置

解决方法:

如果只是单一数据库下面的某一张或者某几张表出现问题,可重置用户模式为多用于模式,就是设置为single在设置为mutile

引用一下网友提供的脚本:

--设置为单用户模式
USE master;
GO
ALTER DATABASE AdventureWorks2012
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
 
--设置为只读模式
GO
ALTER DATABASE AdventureWorks2012
SET READ_ONLY;
 
--设置为多用户模式(正常使用也是这个)
GO
ALTER DATABASE AdventureWorks2012
SET MULTI_USER;
GO
如果是所有表都出现无法打开, 打开报错的情况,用一下方法
1、停用sqlserver实例服务
2、设置数据库文件所在文件权限为everyone,给与全部权限
3、重启实例服务
4、重启电脑

以上问题仅针对于我自己遇到的问题做个备注,不代表能解决所有问题,但是我比较喜欢解决问题的思路

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值