sql建立数据库 SQLServer置疑数据库解决方法
SQLServer置疑数据库解决方法
首先确认已经备份了 mdf和 ldf文件
在SQL Server中新建一个同名的数据库 然后停止SQL Server服务
用原有的 mdf和 ldf文件覆蓋新建数据库对应的 mdf和 ldf文件
重新启动SQL Server服务 这是应该会看到这个数据库处于置疑(Suspect)状态
在SQL查询分析器中执行以下命令 以允许更新系统表
use mastergosp_configure allow updates reconfigure with overridego

将这个数据库置为紧急模式
update sysdatabases set status = where name = db_name go
使用DBCC CHECKDB命令检查数据库中的错误
DBCC CHECKDB( db_name )GO
如果DBCC CHECKDB命令失败 请转至第 步 否则先将数据库置为单用户模式 再尝试对其进行修复
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服务 然后继续尝试
如果DBCC CHECKDB( db_name REPAIR_ALLOW_DATA_LOSS)命令失败 请转至第 步 否则若成功修复了数据库中的错误
重新执行DBCC CHECKDB( db_name )命令 确认数据库中已没有错误存在
清除数据库的置疑状态 sp_resetstatus db_name
清除数据库的单用户模式状态 sp_dboption db_name single user false
重新启动SQL Server服务 如果一切正常的话 则数据库已经成功恢复
如果以上步骤都不能解决问题的话 请参考附件中的文档尝试通过重建事务日志来恢复数据库中的数据 如果您只有MDF文件 问题就更加复杂一些 我们需要直接重建事务日志了:
在SQL Server中新建一个同名的数据库 然后停止SQL Server服务
用原有的ldf文件覆蓋新建数据库对应的 mdf文件 将其日志文件( ldf)删除
启动SQL Server服务 并将数据库置为紧急模式(同上: 步骤 和步骤 )
停止并重新启动SQL Server服务
执行以下命令重建数据库日志文件 (下面是个示例 您要用您实际的数据库名)
DBCC REBUILD_LOG( cas_db D:cas_dbcas_db_Log LDF )
重新将该数据库置为单用户模式
lishixinzhi/Article/program/SQLServer/201311/22174相关文章
- 数据库sql语句大全 如何利用SQL查询语句从SQLSERVER数据库中导入导出EXCEL表格
- 使用sql语句创建数据库 数据库进阶:循序渐进讲解SQL查询语句的高级应用技巧[3]
- 用sql语句创建数据库 sql语句实现表的字段名查询
- 使用sql语句创建数据库 数据库进阶:循序渐进讲解SQL查询语句的高级应用技巧[2]
- 创建数据库时需要注意的问题 在控制中心点选数据库时出现的SQL1031N问题
- 建立数据库的sql语句 postgresql 与mysql sql语句一样吗
- 数据库执行事务 SQL实战新手入门:事务(1)
- sql数据库安装 保卫你的SQL Server数据库
- sql索引是什么 在SQLServer中使用索引的技巧
- sql数据库查找数据 SQLServer:基于WEB的数据库查询
爱学记

微信收款码
支付宝收款码