SQL Server置疑数据库解决方法

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
日志服务 SLS,月写入数据量 50GB 1个月
简介: SQL Server置疑数据库解决方法

1.首先确认已经备份了.mdf和.ldf文件。 2. 在SQL Server中新建一个同名的数据库,然后停止SQL Server服务。 3. 用原有的.mdf和.ldf文件覆盖新建数据库对应的.mdf和.ldf文件。 4. 重新启动SQL Server服务,这是应该会看到这个数据库处于置疑(Suspect)状态。


1.首先确认已经备份了.mdf和.ldf文件。


2. 在SQL Server中新建一个同名的数据库,然后停止SQL Server服务。


3. 用原有的.mdf和.ldf文件覆盖新建数据库对应的.mdf和.ldf文件。


4. 重新启动SQL Server服务,这是应该会看到这个数据库处于置疑(Suspect)状态。


5. 在SQL查询分析器中执行以下命令,以允许更新系统表:


use master
go
sp_configure ‘allow updates’,1
reconfigure with override
go


6. 将这个数据库置为紧急模式:


update sysdatabases set status = 32768 where name = ‘db_name’
go


7. 使用DBCC CHECKDB命令检查数据库中的错误:


DBCC CHECKDB(‘db_name’)
GO

8. 如果DBCC CHECKDB命令失败,请转至第10步,否则先将数据库置为单用户模式,再尝试对其进行修复:


sp_dboption ‘db_name’,’single user’,’true’
DBCC CHECKDB(‘db_name’, REPAIR_ALLOW_DATA_LOSS)
GO


如果在执行DBCC CHECKDB(‘db_name’, REPAIR_ALLOW_DATA_LOSS)命令时提示说数据库未处于单用户模式状态的话,则重新启动SQL Server服务,然后继续尝试。


9. 如果DBCC CHECKDB(‘db_name’, REPAIR_ALLOW_DATA_LOSS)命令失败,请转至第10步,否则若成功修复了数据库中的错误:


重新执行DBCC CHECKDB(‘db_name’)命令,确认数据库中已没有错误存在。


清除数据库的置疑状态:sp_resetstatus ‘db_name’


清除数据库的单用户模式状态:sp_dboption ‘db_name’,’single user’,’false’


重新启动SQL Server服务,如果一切正常的话,则数据库已经成功恢复。


10. 如果以上步骤都不能解决问题的话,请参考附件中的文档尝试通过重建事务日志来恢复数据库中的数据。如果您只有MDF文件,问题就更加复杂一些,我们需要直接重建事务日志了:


1. 在SQL Server中新建一个同名的数据库,然后停止SQL Server服务。


2. 用原有的ldf文件覆盖新建数据库对应的.mdf文件,将其日志文件(.ldf)删除。


3. 启动SQL Server服务,并将数据库置为紧急模式(同上: 步骤5和步骤6)。


4. 停止并重新启动SQL Server服务。


5. 执行以下命令重建数据库日志文件:(下面是个示例,您要用您实际的数据库名)


DBCC REBUILD_LOG(’cas_db’, ‘D:\cas_db\cas_db_Log.LDF’)


6. 重新将该数据库置为单用户模式。


7. 再次尝试使用DBCC CHECKTABLE或DBCC CHECKDB命令检查并修复数据库中的错误。


相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
6天前
|
SQL 缓存 监控
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
本文详细解析了数据库、缓存、异步处理和Web性能优化四大策略,系统性能优化必知必备,大厂面试高频。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
|
6天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
7天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
17天前
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
15 2
|
21天前
|
存储 数据挖掘 数据库
数据库数据恢复—SQLserver数据库ndf文件大小变为0KB的数据恢复案例
一个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成一个NDF文件,每个NDF几百GB大小。数据库包含两个LDF文件。 存储损坏,数据库不可用。管理员试图恢复数据库,发现有数个ndf文件大小变为0KB。 虽然NDF文件大小变为0KB,但是NDF文件在磁盘上还可能存在。可以尝试通过扫描&拼接数据库碎片来恢复NDF文件,然后修复数据库。
|
22天前
|
SQL JSON Java
没有数据库也能用 SQL
SPL(Structured Process Language)是一款开源软件,允许用户直接对CSV、XLS等文件进行SQL查询,无需将数据导入数据库。它提供了标准的JDBC驱动,支持复杂的SQL操作,如JOIN、子查询和WITH语句,还能处理非标准格式的文件和JSON数据。SPL不仅简化了数据查询,还提供了强大的计算能力和友好的IDE,适用于多种数据源的混合计算。
|
24天前
|
SQL 数据库
SQL数据库基础语法入门
[link](http://www.vvo.net.cn/post/082935.html)
|
1月前
|
SQL 存储 关系型数据库
mysql 数据库空间统计sql
mysql 数据库空间统计sql
45 0
|
1月前
|
SQL 存储 监控
串口调试助手连接SQL数据库的技巧与方法
串口调试助手是电子工程师和软件开发人员常用的工具,它能够帮助用户进行串口通信的调试和数据分析
|
8天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
23 4