/*--重置置疑状态
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.系统方法:
如果 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
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
右键脱机状态的数据库-->所有任务-->联机
DUMP TRANSACTION 库名 WITH NO_LOG 或:截断日志:
backup log 数据库 with no_log
./ .--...
o .-------- $ .--
o 不要分 o / .......
' ..
o o o '........ ----
o NO分 . --..
o o o . .---.. -
o . ' -.
o o / '
o 不分 / ' ' '
\-----/....... . ' ' ' '
\ __/ - - -' ' ' '
' ' ' '
o ' ' ' '
' ' '
-..'.----------.
I ----------
/////////.