SQL Server 数据库置疑(或损坏)的原因及解决方法

   Updated: 2016-03-06 20:40       SQL Server 数据库置疑(或损坏)的原因及解决方法无评论

SQL Server 数据库置疑可能的原因

  1. SQL Server 数据库文件或者日志文件达到了文件的最大限制
  2. 硬盘空间不足
  3. 数据库文件损坏
  4. 防病毒软件扫描数据库文件引起数据库置疑
  5. 由于其他线程/进程占用了数据库文件,导致 SQL Server 进程无法 access 此文件

注意:数据库置疑后是不能对此数据库进行任何内部操作的。

这里以科脉系统下的 SQL Server 数据库为例,其实 SQL Server 数据库的置疑或损坏的解决办法是通用的,只是数据库名称和存放路径要根据实际情况修改。

数据库 「置疑」 的解决步骤(按顺序操作)

1、手动备份数据库文件到其他目录

2、安装一个同名空库,然后将原库文件覆盖空库文件(数据库文件后缀为.MDF,日志文件为.LDF)(需要先停止 SQL Server 服务,覆盖后再启动)

3、打开 「SQL 查询分析器」

4、设置数据库为紧急模式(以下语句一条一条执行)

sp_configure 'allow' , 1
reconfigure with override
update sysdatabases set status = 32768 where name = 'kmjxc_pro'

5、重建日志文件(kmjxc_pro_log2.ldf 为一新的不存在的文件,执行以下语句时将自动建立)

dbcc rebuild_log('kmjxc_pro' , 'D:\kmdata\kmjxc_pro_log2.ldf')

6、取消紧急模式(以下语句一条一条执行)

update sysdatabases set status = 0 where name ='kmjxc_pro'
restore database kmjxc_pro with recovery
sp_configure 'allow' , 0
reconfigure with override

7、重启 SQL 服务

8、完成

参考资料

  1. SQL 数据库置疑:http://gnaw0725.blogbus.com/logs/43910235.html
  2. 详尽的解决办法:http://topic.csdn.net/u/20081116/10/646b5bf0-cbe6-48a5-87a1-99a750266258.html

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注