华佗养生网
您的当前位置:首页数据库置疑修复

数据库置疑修复

来源:华佗养生网
步骤1:

创建一个新的数据库,命名为原来数据库的名字。 步骤2: 停止SQL Server 步骤3:

把老数据库的MDF文件替换新数据库的相应的MDF文件,并把LDF文件删除。 步骤4:

重新启动SQL Server服务,然后运行如下命令: Use Master Go

sp_configure 'allow updates', 1 reconfigure with override Go begin tran

update sysdatabases set status = 32768 where name = 'db_name' --Verify one row is updated before committing commit tran 步骤5:

停止SQL然后重新启动SQL Server服务,然后运行如下命令: DBCC TRACEON(3604)

DBCC REBUILD_LOG('db_name','c:\\mssql7\\data\\dbxxx_3.ldf')

Go 步骤6:

停止SQL然后重新启动SQL Server服务,然后运行: use master

update sysdatabases set status = 8 where name = 'db_name' Go

sp_configue 'allow updates', 0 reconfigure with override Go 步骤7:

运行dbcc checkdb(db_name) 检查数据库的完整性 注:都要替换成真实的数据库名字。

sql附加数据库时提示823错误

2008-12-26 09:10

朋友单位有台电脑的数据库ufdata_001_2008状态为置疑,我断开再附加时提示如下图所示说明,附加时失败,错误823。

原因分析:出现这种情况可能是由于电脑忽然断电或者异常关机造成的。

解决方法:在SQL企业管理器中,新建同名数据库ufdata_001_2008,

新建库后现有数据名称是ufdata_001_2008.mdf和ufdata_001_2008_log.LDF;

停止数据库,把损坏的数据库文件ufdata.mdf和ufdata.LDF修改名称为ufdata_001_2008.mdf和ufdata_001_2008_log.LDF,并覆盖刚才新建数据库目录下的数据,同时删除ufdata_001_2008_log.LDF文件;

启动数据库服务,发现数据库名ufdata_001_2008后面有“置疑”字样;

打开SQL自带查询分析器,执行如下SQL语句: use master go

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

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

DBCC REBUILD_LOG

('ufdata_001_2008','E:\a\a.LDF') /* 重建LDF文件 */ go

update sysdatabases set status=0 where

name='ufdata_001_2008' /* 重置数据库状态 */ go

restore database ufdata_001_2008 WITH

RECOVERY /* 恢复数据库 */ go

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

执行以上语句后,ufdata_001_2008没有了置疑状态,数据可以正常读取了。

因篇幅问题不能全部显示,请点此查看更多更全内容