首页 > 代码库 > sql 2000 数据库置疑

sql 2000 数据库置疑

解决办法:
在SQL-Server中,新建同名数据库(这里假设为Test)后,停止数据库,把损坏的Data.mdf和Test_log.LDF覆盖刚才新建数据库目录下的Data.mdf和Test_log.LDF,同时删除Test_log.LDF文件;启动数据库服务,发现数据库名Test后面有“置疑”字样。不要紧,打开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)各个表的数据导出到新建数据库表中。


sql 2000 数据库置疑