SQL Server置疑数据库解决方法

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

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

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

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

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

  use mastergosp_configure ‘allow updates’,1reconfigure with overridego

  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_dbcas_db_Log.LDF’)

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

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

时间: 2024-09-13 15:16:52

SQL Server置疑数据库解决方法的相关文章

用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接 的解决方法

用户 'sa' 登录失败.原因: 未与信任 SQL Server 连接 的解决方法如下: 一.控制面板->服务->MS SQL SERVER->登陆-->本地系统帐户-->重新启动MS SQL SERVER用windows验证登陆查询分析器-->执行 sp_password null,sa新密码,'sa' 二."无法连接到服务器,用户xxx登陆失败"该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方

Java成功访问SQL Server 2000数据库的方法

server|sql|访问|数据|数据库 摘要:本文主要介绍采用JDBC.ODBC接口实现了与SQL Server2000数据库的连接,并利用Java应用程序对其进行访问,同时通过图形用户界面实现了简单的查询功能. 关键词:Java,SQL Server,数据库 前言 数据库技术和网络技术是当今计算机领域的两大热门话题,数据库技术自产生以来,在技术上已发展成熟.而作为前端访问的开发工具和环境仍处在不断完善和发展之中,除了网络上使用的ASP.PHP.JSP作为前端连接数据库技术外,小型系统上常用访

SQL SERVER 9003错误解决方法_MsSql

SQLSERVER 9003错误解决方法 只适用于SQL2000 (只适用于SQL2000) "无法打开新数据库 'POS'.CREATE DATABASE 中止. (Microsoft SQL Server,错误: 9003)" 看是9003错误,就想到可能是由于日志文件的原因,再看数据库文件可能损坏,于是想到dbcc checkdb指令. 方法如下: 1.我们使用默认方式建立一个供恢复使用的数据库(如pos).可以在SQL   Server   Enterprise   Manag

SQL SERVER 9003错误解决方法

SQLSERVER 9003错误解决方法 只适用于SQL2000 (只适用于SQL2000) "无法打开新数据库 'POS'.CREATE DATABASE 中止. (Microsoft SQL Server,错误: 9003)" 看是9003错误,就想到可能是由于日志文件的原因,再看数据库文件可能损坏,于是想到dbcc checkdb指令. 方法如下: 1.我们使用默认方式建立一个供恢复使用的数据库(如pos).可以在SQL   Server   Enterprise   Manag

sql server数据库连接出错解决方法

sql server数据库教程连接出错解决方法 错误提供 "由于检索用户的本地应用程序数据路径时出错,导致无法生成 sql server 的用户实例.请确保该用户在此计算机上有本地用户配置文件.该连接将关闭. " 字符串问题 data source=".sqlexpress;attachdbfilename=|datadirectory|test.mdf;integrated security=true;user instance=false" net项目默认的数据

SQL Server常见问题及解决方法分享

写在前面 在QQ群,微信群,论坛中经常帮助使用SQL Server数据库的朋友解决问题,但是有一些最常见最基本的问题,每天都有人问,回答多了也不想再解答了,索性把这些问题整理一下,再有人问到直接发链接. 一时想法而写这篇文章,问题可能不全面,后续会一直更新. 基础问题收集资源下载 描述:XX版本数据库操作系统在哪里下载? 答:http://www.itellyou.cn/ 里面很多东西,有兴趣的自己看吧 连接问题 描述:数据库连接不上 答:请确认SQL服务是否启动,用户密码是否正确,连接的实例名

python连接sql server乱码的解决方法_python

vi /etc/freetds/freetds.conf 复制代码 代码如下: [global]# TDS protocol versiontds version = 8.0client charset = UTF-8# A typical Microsoft server[Server55]host = 192.168.1.55port = 1433tds version = 8.0vi /etc/odbc.ini[DSN55]Description=my dsnDriver=TDSDatab

远程登陆SQL Server 2014数据库的方法

远程登陆SQLServer (2014)数据库,供大家参考,具体内容如下 两台电脑,同一个局域网内,IP同一网段 配置: Computer1: Windows10,安装SQL Server 2014 enterprise版(作为服务器) Computer2: Windows 10,VS2015 Computer1:(1)设置Windows用户和SQL Server身份验证两种登陆方法 (2)配置SQL Server 配置管理器 网络配置将Named Pipes和TCP/IP协议均打开,TCP/I

SQL Server 2008 SP2找不到SQL Server Engine的解决方法

最近我有个客户碰到一个很奇怪的问题.他安装SQL server 2008 SP2的时候, SP2的安装程序无法找到SQL server.界面如下: &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; 正常的界面应该是这样的: 你可以从上图看到, 上面列出了我机器上的SQL 实例SQLEXPRESS. 那么客户的机器上为什么就不能列出呢? 我首先考虑是不是下载的SP2版本不对?仔细核查了下,客户的SQL server