批量附加sql数据库是为数据量管理人员推出的一款sql附加数据工具,主要用于将主程序库重新安装到新的服务器上面,支持批量附加,大大提高SQL数据库管理效率,需要的朋友可以来本站下载!

sql server附加数据库报错824_SQL

附加数据库提示823

sql 2000 数据库附加失败 提示823,解决方法如下

sqlserver附加数据库错误823的解决方案2008-10-13 15:06sqlserver附加数据库错误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)后,停止数据库,把损坏的数据库文件Data.mdf和Test_log.LDF覆盖刚才新建数据库目录下的Data.mdf和Test_log.LDF,同时删除Test_log.LDF文件;启动数据库服务,发现数据库名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_Log.LDF') /* 重建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)

注意事项

第一:运行中的数据库文件是不能复制的,你可以先停止sql服务然后复制,或者将数据库分离,再复制

第二:附加时 注意路径是否正确。你附加到另一台服务器上时注意路径是否存在。如果两台服务器数据库目录结构完全一样就不存在这个问题。如果目录不一样可以直接修改数据库文件路径和日志文件路径。

这是一个批量附加数据库的便捷工具,如果有很多的库,一个个的去处理还是有点累的,用这个工具就方便多了。