SQL Server置疑数据库解决方法

本文涉及的产品
云数据库 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命令检查并修复数据库中的错误。


相关文章
|
27天前
|
SQL 机器学习/深度学习 人工智能
从“写SQL”到“聊数据”:NL2SQL如何用自然语言解锁数据库?
本文系统性地阐述了自然语言转SQL(NL2SQL) 技术如何让非技术背景的业务分析师实现数据自助查询,从而提升数据驱动决策的效率与准确性。
从“写SQL”到“聊数据”:NL2SQL如何用自然语言解锁数据库?
|
5月前
|
人工智能 运维 关系型数据库
|
5月前
|
SQL 数据库 数据安全/隐私保护
数据库数据恢复——sql server数据库被加密的数据恢复案例
SQL server数据库数据故障: SQL server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。 数据库备份被加密,文件名字被篡改。
|
2月前
|
SQL 缓存 监控
SqlRest让SQL秒变Http API,还支持20+数据库(含国产数据库)
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
2月前
|
SQL 存储 数据库
SQL Server Management Studio (SSMS) 21 - 微软数据库管理工具
SQL Server Management Studio (SSMS) 21 - 微软数据库管理工具
453 0
|
2月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
233 0
|
5月前
|
SQL 关系型数据库 MySQL
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。
|
6月前
|
SQL 数据库连接 Linux
数据库编程:在PHP环境下使用SQL Server的方法。
看看你吧,就像一个调皮的小丑鱼在一片广阔的数据库海洋中游弋,一路上吞下大小数据如同海中的珍珠。不管有多少难关,只要记住这个流程,剩下的就只是探索未知的乐趣,沉浸在这个充满挑战的数据库海洋中。
137 16
|
存储 SQL 程序员
【Sql Server】存储过程通过作业定时执行按天统计记录
通过前两篇文章的学习,我们已经对创建表、存储过程、作业等功能点有所了解 本次将结合前面所学习的知识点,创建统计表以及结合作业定时按天以及实时统计域名各个长度的记录值
572 0
【Sql Server】存储过程通过作业定时执行按天统计记录
|
存储 SQL 数据库
SQL Server——为什么要使用存储过程?不使用是什么样的?
提高数据库执行速度,可能第一次见到这句话的小伙伴们感觉到非常的匪夷所思叭!怎么就提高了它的执行速度捏,从哪方面可以表现出来呢?既然这里要说到的是为什么要使用存储过程,也就是说它的优点是什么。那我们肯定就要对使用和不使用存储过程两方面来进行对比才能看出它的优点对吧。

热门文章

最新文章