数据库置疑后怎么办

数据库置疑后怎么办,第1张

1建一个同名的数据库

2修改服务器设置:允许对系统目录进行直接修改( sp_configure 'allow updates', 1)

3停止SQL Server

4用原mdf文件覆盖新建库的数据库文件

5重启SQL Server(这时数据库应该是置疑)

6将数据库设置为紧急状态

update sysdatabases set status = 32768 where name = 'hbposv5'

7重建日志:DBCC REBUILD_LOG ('hbposv5','c:\Program Files\Microsoft SQL Server\MSSQL\Data\hbposv5_logldf') --在这里,请输入你的数据库的路径

8update masterdbosysdatabases set status = 16 where name = hbposv5

9修改服务器设置:取消允许对系统目录进行直接修改 (sp_configure 'allow updates', 0)

用U盘附加数据库要注意:

1你附加时的盘符是什么,因为符加数据库后,会在数据库里加入数据库路径,如果说你附加上去的时候是H盘,但现在用的时候是J盘,那么,当然是置疑的。

2开电脑时先插入U盘,或者开了电脑,然后插入U盘,把服务管理器,停止掉,再点开始,这样就可以用。

3最好符加U盘里的数据库时,不要先插移动硬盘或其他USB设备,让要附加数据库的U盘,盘符排到最前,就不会出现什么问题。。

我以前是搞软件实施的,有什么问题可以问我。

以下几种情况下是不能分离数据库的

已复制并发布数据库。  如果进行复制,则数据库必须是未发布的。 必须通过运行 sp_replicationdboption 禁用发布后,才能分离数据库。

数据库中存在数据库快照

必须首先删除所有数据库快照,然后才能分离数据库。  有关详细信息,请参阅删除数据库快照 (Transact-SQL)。

该数据库正在某个数据库镜像会话中进行镜像。

数据库处于可疑状态。  无法分离可疑数据库;必须将数据库设为紧急模式,才能对其进行分离。

数据库为系统数据库。

具体情况参阅以下链接:>

sqlserver附加数据库错误823的解决方案

一、SQL-Server附加数据库时失败。

1、异常情况:服务器在正常运行的情况下突然断电,导致数据库文件损坏,具体表现是:数据库名后面有“(置疑)”字样。

2、异常分析:关于823错误的 SQL-SERVER 中的帮助:

================================

错误 823

严重级别 24

消息正文

在文件 "%4!" 的偏移量 %3! 处的 %2! 过程中,检测到 I/O 错误 %1!。

解释

Microsoft SQL Server 在对某设备进行读或写请求时遇到 I/O 错误。该错误通常表明磁盘问题。但是,错误日志中在错误 823 之前记录的其它核心消息应指出涉及了哪个设备。

3、解决办法:

在SQL-Server企业管理器中,新建同名数据库(这里假设为Test)后,停止数据库,把损坏的数据库文件Datamdf和Test_logLDF覆盖刚才新建数据库目录下的Datamdf和Test_logLDF,同时删除Test_logLDF文件;启动数据库服务,发现数据库名Test后面有“置疑”字样。不要紧,打开SQL自带查询分析器,分别执行如下SQL语句:

第一、

exec sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE / 打开修改系统表的开关 /

第二、

update sysdatabases set status=32768 where name='数据库名' / 设置数据库状态 /

第三、

DBCC REBUILD_LOG ('数据库名','D:\database\Test_LogLDF') / 重建LDF文件 /

第四、

update sysdatabases set status=0 where name='数据库名' / 重置数据库状态 /

第五、

restore database 数据库名 WITH RECOVERY / 恢复数据库 /

第六、

exec sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE / 关闭打开修改系统表的开关 /

按照此方法 *** 作,应该能修复数据库正常访问了。如果问题依然存在,最笨的一个方法就是新建另一个数据库,把原数据库(Test)各个表的数据导出到新建数据库表中。

============================================================

补充说明:用上面的六步把数据库置疑的问题解决了,但是数据库表里还有损坏的表(inf_gdscode),把坏表导出的时候也不成功。最后在查询分析器里运行:

USE nmgbt_hcxuexipos (数据库名)

GO

DBCC CHECKTABLE ('inf_gdscode',REPAIR_ALLOW_DATA_LOSS)

GO

以上就是关于数据库置疑后怎么办全部的内容,包括:数据库置疑后怎么办、昨天从U盘里附加了一个数据库,今天置疑了,不能删除不能分离,重新附加有说名字一样已经存在,怎么办、sql数据库不能附加和分离怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9800104.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存