A.现象:Error 926
Severity Level 14
Sqlclub.cn
Error Message Text
copyright Sqlclub
Database 'xx' cannot be opened - it has been marked SUSPECT by recover Explanation Sqlclub
(1) 当你使用Transact_SQL命令操作这个数据库的数据时, 出现这个信息, 这是一个严重的错误, 如果
你要使用这个数据库的数据, 必须改正这个错误. 本文来自Sqlclub
(2) 启动Backup Server, 后备master数据库
本文来自Sqlclub
1>dump database master to "/usr/sybase/master_dump.19991201"
2>go Sqlclub
(3) 用isql登录到SQL Server, 须用sa帐号 (本文以pubs2数据库为例)
本文来自Sqlclub
1>sp_configure "allow updates", 1 内容来自Sqlclub.cn
2>go Sqlclub
1>begin tran Sqlclub学习社区
2>go
Sqlclub.cn
1>update master..sysdatabases
Sqlclub.cn
2>set status = -32768 Sqlclub学习社区
3>Where name="pubs2"
4>go copyright Sqlclub
如果得到(1 row affected),则
1>commit
Sqlclub
2>go
内容来自Sqlclub.cn
否则 Sqlclub学习社区
1>rollback 本文来自Sqlclub
2>go
(4.1)如果条件允许,bcp out用户数据或dump用户数据库
(5.1)这时重新启动SQL Server, 再有sa帐号注册到SQL Server.
1>begin tran Sqlclub学习社区
2>go copyright Sqlclub
1>update master..sysdatabases
2>set status=0
内容来自Sqlclub.cn
3>Where name="pubs2"
4>go copyright Sqlclub
如果得到(1 row affected),则
内容来自Sqlclub.cn
1>commit
本文来自Sqlclub
2>go 内容来自Sqlclub.cn
否则
copyright Sqlclub
1>rollback copyright Sqlclub
2>go copyright Sqlclub
1>sp_configure "allow updates" ,0 Sqlclub学习社区
2>go copyright Sqlclub
(4) 如果你的数据库原来有dboption(例如"select into","trunc log on chkpt"等), 你需要重新设置这些option.. 内容来自Sqlclub.cn
(5) 运行dbcc命令检查数据库的一致性 内容来自Sqlclub.cn
isql -Usa -P -i dbcc.sql -o dbcc.out
dbcc.sql文件示例: 本文来自Sqlclub
dbcc checkdb("pubs2") Sqlclub.cn
go copyright Sqlclub
dbcc checkalloc("pubs2")
go
Sqlclub.cn
dbcc checkcatalog("pubs2") Sqlclub学习社区
go
本文来自Sqlclub
grep Msg dbcc.out copyright Sqlclub
6) 后备用户数据库
1>dump database pubs2 on "/usr/sybase/pubs2_dump.19991201"
2>go
Q.如何解决数据库被标记为"suspect"的问题之二( 数据库设备损坏时的解决方案 )? Sqlclub.cn
A.现象: 926错误产生的原因有几种。本文讨论当数据库设备初始化失败( 设备文件丢失或文件读写权限 内容来自Sqlclub.cn
不正确 )时,导致数据库恢复失败,出现926错误的情况。 copyright Sqlclub
(1) 请先恢复数据库设备及读写权限。 Sqlclub学习社区
(2) 启动Backup Server, 后备master数据库
1>dump database master to "/usr/sybase/master_dump.19991201" 内容来自Sqlclub.cn
2>go
3) 用isql登录到SQL Server, 须用sa帐号 (本文以pubs2数据库为例) 内容来自Sqlclub.cn
1>sp_configure "allow updates", 1 Sqlclub学习社区
2>go 本文来自Sqlclub
1>begin tran 本文来自Sqlclub
2>go copyright Sqlclub
1>update master..sysdatabases
Sqlclub.cn
2>set status = status - 256 copyright Sqlclub
3>Where name="pubs2"
4>go 内容来自Sqlclub.cn
如果得到(1 row affected),则 本文来自Sqlclub
1>commit Sqlclub
2>go
copyright Sqlclub
否则 本文来自Sqlclub
1>rollback
2>go Sqlclub
(4) 重新启动SQL Server, 运行dbcc命令检查数据库的一致性编辑生成dbcc.sql文件: 内容来自Sqlclub.cn
dbcc checkdb("pubs2")
go
copyright Sqlclub
dbcc checkalloc("pubs2")
Sqlclub.cn
百度中搜索:
Google中搜索: