背景介绍:
2017年,3月某一天晚上凌晨,上海某医院由于重启主交换机,没有和厂商联系,造成sql server数据库变成“三角惊叹号+数据库名+(可疑)”了,打不开,不能使用。
原因:在重启主交换机的时候,mssql集群ip冲突,造成数据库异常关机,此时正有数据在插入数据库中,造成数据的逻辑不一致。
解决办法:
1、修改数据库为紧急模式
ALTER DATABASE 数据库名 SET EMERGENCY
2、使数据库变为单用户模式
ALTER DATABASE 数据库名 SET SINGLE_USER
3、修正数据库,可能会导致一些数据丢失。
DBCC CheckDB ('数据库名',REPAIR_ALLOW_DATA_LOSS) //修复一次不成功,就多修复几次
4、使数据库变回为多用户模式
ALTER DATABASE 数据库名 SET MULTI_USER
使用这种方法修复了部分数据库并且成功。但是在某个重要的库上修复失败,所幸这个库可以正常使用,不是可疑状态。
日志报的错误大概的意思是数据库的系统表损坏,导致修复失败。
因为公司买了微软的服务,询问微软的技术人员,回复说:系统表损坏,修复不了,只能新建相同的库和表,然后把能够select出来的数据导进去。
幸运的是我们有一个事故发生当天凌晨的备份,除了一个表select报错之外,所有的表都是好的。更幸运的是可以使用DBCC Checktable来修复这张表(丢失几条数据)
所以我们的方案就是:这个备份加上备份的最后的一条记录的作为条件把差的数据补上。
所以,最最重要的是数据库一定要有可用的,近期的备份。
2017年,3月某一天晚上凌晨,上海某医院由于重启主交换机,没有和厂商联系,造成sql server数据库变成“三角惊叹号+数据库名+(可疑)”了,打不开,不能使用。
原因:在重启主交换机的时候,mssql集群ip冲突,造成数据库异常关机,此时正有数据在插入数据库中,造成数据的逻辑不一致。
解决办法:
1、修改数据库为紧急模式
ALTER DATABASE 数据库名 SET EMERGENCY
2、使数据库变为单用户模式
ALTER DATABASE 数据库名 SET SINGLE_USER
3、修正数据库,可能会导致一些数据丢失。
DBCC CheckDB ('数据库名',REPAIR_ALLOW_DATA_LOSS) //修复一次不成功,就多修复几次
4、使数据库变回为多用户模式
ALTER DATABASE 数据库名 SET MULTI_USER
使用这种方法修复了部分数据库并且成功。但是在某个重要的库上修复失败,所幸这个库可以正常使用,不是可疑状态。
日志报的错误大概的意思是数据库的系统表损坏,导致修复失败。
因为公司买了微软的服务,询问微软的技术人员,回复说:系统表损坏,修复不了,只能新建相同的库和表,然后把能够select出来的数据导进去。
幸运的是我们有一个事故发生当天凌晨的备份,除了一个表select报错之外,所有的表都是好的。更幸运的是可以使用DBCC Checktable来修复这张表(丢失几条数据)
所以我们的方案就是:这个备份加上备份的最后的一条记录的作为条件把差的数据补上。
所以,最最重要的是数据库一定要有可用的,近期的备份。
编辑推荐:
- 记一次主交换机重启导致mssql数据库不可用的坑03-02
- 用MSSQL发邮件03-02
- 上海某三甲医院mssql数据库磁盘扩容03-02
- SQL数据库发mail03-02
- 数据从一张表导入另外一张表过滤重复元素03-02
- 关于监控03-02
- 查看信息03-02
- 抓取最大的tmstmp03-02
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 上海某三甲医院mssql数据库磁盘扩容
上海某三甲医院mssql数据库磁盘扩容
26-03-02 - SQLSERVER数据库状态揭秘
SQLSERVER数据库状态揭秘
26-03-02 - SQL SERVER运维日记--备份
SQL SERVER运维日记--备份
26-03-02 - Ubuntu高可用监控部署指南(手把手教你配置Keepalived实现Linux服务器高可用性)
- 屏蔽机房壳体龙骨安装焊接教程
屏蔽机房壳体龙骨安装焊接教程
26-03-02 - NTP时间服务器,为安防监控系统保驾护航
NTP时间服务器,为安防监控系统保驾护航
26-03-02 - 高清视频监控系统基本组成
高清视频监控系统基本组成
26-03-02 - 深入理解 SQL Server 2008 的锁机制
深入理解 SQL Server 2008 的锁机制
26-03-02 - 新建可用性组的正将TEST连接到XXXX上的可用性组TAG01报错和解决--alwayson搭建踩的坑
- SQL SERVER数据库收缩最佳实践
SQL SERVER数据库收缩最佳实践
26-03-02
