/*--重置置疑状态
1.系统方法:
如果 sql server 因为磁盘驱动器不再有可用空间,而不能完成数据库的恢复,
那么 microsoft® sql server™ 2000 会返回错误 1105 
并且将 sysdatabases 中的 status 列设为置疑。按下面的步骤解决这个问题: 执行 sp_resetstatus。
语法为:
sp_resetstatus '数据库名'
用 alter database 向数据库添加一个数据文件或日志文件。停止并重新启动 sql server。 用新的数据文件或日志文件所提供的额外空间,sql server 应该能完成数据库的恢复。释放磁盘空间并且重新运行恢复操作。 sp_resetstatus 关闭数据库的置疑标志,但是原封不动地保持数据库的其它选项。
--*/--2.手工重置置疑状态
use master 
go
sp_configure 'allow updates',1 reconfigure with override 
go
declare @dbname varchar(30)
set @dbname='你要处理的数据库名'if @@trancount > 0
print '正在进行事务处理,操作不能进行'
else if suser_id()!=1
print '你不是系统管理员(sa),不能进行此操作'
else if not exists(select 1 from master..sysdatabases where name=@dbname)
print '你要操作的数据库不存在'
else if not exists(select 1 from master..sysdatabases where name= @dbname and status & 256 = 256)
print '你的数据库没有被置疑'
else
begin
begin tran
update master..sysdatabases set status = status ^ 256 where name = @dbname
if @@error != 0 or @@rowcount != 1
rollback tran
else 
begin
commit tran
print '操作成功,请重新启动SQL'
end
end
go 
sp_configure 'allow updates', 1 reconfigure with override 
go 

解决方案 »

  1.   

    你在恢复的时候用了:RESTORE DATABASE db2 FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\db1_backup' with replace,norecovery <<===这几个参数
      

  2.   

    --如果上面的方法不行,就用:USE MASTER
    GOSP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
    GOUPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名'
    Gosp_dboption '置疑的数据库名', 'single user', 'true'
    GoDBCC CHECKDB('置疑的数据库名') 
    Goupdate sysdatabases set status =28 where name='置疑的数据库名'
    Gosp_configure 'allow updates', 0 reconfigure with override
    Go sp_dboption '置疑的数据库名', 'single user', 'false'
    go
      

  3.   

    右键置疑状态的数据库-->所有任务-->脱机
    右键脱机状态的数据库-->所有任务-->联机
      

  4.   

    清空日志
    DUMP  TRANSACTION  库名  WITH  NO_LOG       或:截断日志:
    backup log 数据库 with no_log
      

  5.   

    o                    .  .- .-
                                                            ./    .--...
                                       o          .-------- $    .--
                                  o  不要分    o     /                 .......
                                                '                  ..
                                 o   o    o      '........            ----
                                           o NO分           .          --..
                                o    o         o           .   .---..   -
                                           o               .  '     -.
                                        o   o             /   '
                                       o  不分               / ' ' '
                                       \-----/....... . '  ' '  '
                                        \ __/ -      - -'  '  ' '
                                                        '  '  ' '
                                         o              '   ' ' '
                                                        '   '  '
                                                         -..'.----------.
                                                            I   ----------
                                                     /////////.