SQL SERVER数据库修复
数据库错误如下:
消息 824,级别 24,状态 2,第 2 行
SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:143744,但实际为 24490:1539394346)。在文件 'E:\数据库\ET.mdf' 中、偏移量为 0x00000046300000 的位置对数据库 ID 14 中的页 (1:143744) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书
解决方式如下:
出现上述问题的原因大致为高速读写的时候出现了中断等现象导致的一致性问题,最直接的做法就是忽略此不一致,当然修复后会有少数数据丢失。修复基本步骤为三个环节,第一是将对应的数据库改为单用户,第二步是通过DBCC CHECKDB忽略不一致,第三步则修改数据库为多用户。基本没有问题,可是仍然会有意外,所以在操作之前自己做好打算。
第一步:使用ManagementStudio连接数据库将其改为单用户;
执行查询语句
ALTER DATABASE database_name SET SINGLE_USER
如果此时有很多连接,那么此操作异常慢,有的人则写存储过程将连接都关闭,确实可行,可是有最简便的方式,如下图:
找到如下图位置:
确定之后就会弹出框让你确定是否关闭所有连接,如下:
确定即可,很快就好了。
第二步:执行检查,下面的SQL是本人常用的,目前没有问题,可能不同的场景用法不一样。
DBCC CHECKDB ('database_name', repair_allow_data_loss) with NO_INFOMSGS
操作完成后即可恢复多用户操作了。
第三步:恢复为多用户
ALTER DATABASE database_name SET MULTI_USER
这一步基本没有问题,因为前面是单用户访问,如果有另外一个连接不小心连接进来,那么你就无法操作了,因为已经有一个连接。常用的做法是强制杀掉那个连接,同样有部分人可能会写存储过程,然而我不想在生成环境做过多的尝试,所以用ManagementStudio自带的活动和监视器去做。打开ManagementStudio操作如下:
点开活动和监视器后进入:
选中对应的数据库,右键出现如下:
终止进程就杀死了那个单用户的占用了,后就可以执行你的多用户修改语句了。
到此为止操作成功,不过不同的环境和出错的原因不一致,如要操作还是要慎重的。祝好运
SQL SERVER数据库修复相关推荐
- SQL Server 数据库修复步骤
SQL Server 数据库修复步骤 1. ALTER DATABASE 数据库名称 SET EMERGENCY 2. ALTER DATABASE 数据库名称 SET SINGLE_USER 3. ...
- 管家婆SQL SERVER数据库修复案例
管家婆SQL SERVER数据库修复案例 [数据库故障描述] 用户在使用过过程中,由于突然断电,造成数据无法读取.DBCC检测数据库提示以下错误 消息211,级别23,状态51,第1 行 可能发生了架 ...
- MS SQL Server数据库修复利器—D-Recovery For MS SQL Server数据恢复软件
微软的SQL Server 数据库最常用的有两种类型的文件: 1.主要数据文件,文件后缀一般是.MDF: 2.事务日志文件,文件后缀一般是.LDF. 用户数据表.视图.存储过程等等数据,都是存放在MD ...
- SQL SERVER数据库修复之REPAIR_ALLOW_DATA_LOSS级别简介和实例
目录 (一)前言 (二)关于DBCC CHECKxxx系列命令 1. DBCC CHECKALLOC 2. DBCC CHECKCATALOG 3. DBCC CHECKDB (1)基本概念 (2)基 ...
- MS Sql Server 数据库或表修复(DBCC CHECKDB)
MS Sql Server 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令. 1. DBCC CHECKDB 重启服务器后,在没有进行任何操作的情况下,在SQL ...
- sql server数据库 18456错误修复
sql server数据库 18456错误修复 当数据库出现以下错误提示: 解决方法如下: 1.以windows验证模式进入数据库管理器. 第二步:右击sa,选择属性: 在常规选项卡中,重新填写密码和 ...
- SQL SERVER数据库误删除误格式化误重装软件覆盖数据恢复修复
数据库在现今的信息时代来说,已经起到了越来越重要的作用.是数据的真正核心部分,没有数据库,那么软件只是一个漂亮的界面. 数据库恢复.数据库修复是比较常见的一种数据恢复业务. mysql数据库修复 MS ...
- 浅析SQL Server数据修复命令DBCC的使用
SQL Server数据库提供了修复命令DBCC,当SQL Server数据库遭到质疑或者是有的无法完成读取时可以尝试用此命令来修复.以下是一些常见的DBCC修复命令,希望会给读者带来帮助. 1 ...
- SQL Server数据库错误9003(LSN无效)的处理方法
国内一些ERP.财务软件一般后台都使用SQL Server的数据库,SQL Server作为一个中大型数据库是不应该在桌面系统上运行的,小规模企业一般不使用专用服务器,大部分直接使用XP系统+桌面引擎 ...
最新文章
- java mvc view_对Springmvc view层的理解
- 安装.Net Framework 4.6.2时出现“无法建立到信任根颁发机构的证书链”解决方法
- springboot工程添加404页面
- 关于session丢失原因的分析
- creo减速器建模实例_3.16减速器箱体附件建模
- leetcode1276. 不浪费原料的汉堡制作方案(贪心)
- Flutter原理与实践
- LVS + Keepalived 高可用群集
- 信息产业浪潮中,京东 IoT 的技术演进与实践创新
- android targetapi版本低,Android应用开发之Android @TargetAPI版本兼容性解析
- SIFT: Distinctive Image Features from Scale-Invariant Keypoints
- Windows azure中公用云服务的两个虚机FTP的设置
- 超市在线购物商城源码分享
- Android绘制圆形图片的3个方法
- 苹果怎么用微信链接服务器,苹果手机如何设置微信登陆锁
- 大学一年级(行走的皮卡丘)
- 游戏开发19课 tilemap 创建瓦片
- 一些高阶矩的介绍,峰度和偏度
- Android秀翻天的操作——使用协程进行网络请求
- android系统电视机排行榜,智能电视机排行榜前十名
热门文章
- 漳州市计算机报名时间,漳州市计算机操作员证怎么考要什么条件考试需要多久...
- linux nginx连接memcache和ngx_http_consistent_hash负载均衡算法
- processing制作动态山水背景
- 【Cherno的OpenGL视频】Welcome to OpenGL
- Android开发经验谈:微信小程序的事件处理,灵魂拷问
- Java代码审计手册(3)
- echarts设置label添加下划线
- STM32中断向量表的位置,重定向
- AD20/Altium designer——如何进行DRC检查、冲突的错误如何改正
- python opencv resize函数_OpenCV尺寸调整函数resize