当某一正常运行的大事务(例如:update、delete操作)被终止,且重新启动server后,运行该事务的数据库处于恢复状态,通常这种状态会持续很长时间。
3)这时重新启动SQL Server, 使用bcp工具将该数据库(本例中为pubs2)内的全部数据导出备份(这一步很重要!) VX@?yvYy
p@vRR yp?
(4)以sa帐号登录到SQL Server,执行下面操作: i>>DMr%KgP
4Gk^P0H*
1>dump tran pubs2 with no_log isk_t)V\
2>go :{D+^
1>begin tran m_-@IP
2>go Iw~_Q\($
1> use master M]YhU%}
2> go D&w17iv
1>update sysdatabases 7B$OF,tt
2>set status=0 PTZi EtA0"
3>Where name="pubs2" L2)`Y3*E
4>go ]+`HB}
Ving]<&
如果得到(1 row affected),则 @vedE_
5FK~@Y_(
1>commit PRrZLZAh
2>go #RMsA*>T
m>6S ;^h
否则 S`M_kf
87.b7f L
1>rollback R({m$YoW
2>go 5?UT7sS2m
{TWd9^1
1>sp_configure "allow updates" ,0 *ANKWnXLX\
2>go pe jD/il
,-6X(<f
(5) 重新启动server sS5UuCvx
#9HTO-\
(6) 如果你的数据库原来有dboption(例如"select into","trunc log on chkpt"等), 你需要重新设置这些option.. (8 0sk_c
]-wh HcG}H
(7) 当数据库已经恢复可使用状态后,运行dbcc命令检查数据库的一致性(参照"如何检查数据库中数据一致性"文章) "amAgSa
v^|V't(-f
(8) 后备用户数据库 NlQ]1@)
YLFmW|_
例如: MaL`#UM((
1>dump database pubs2 to "/usr/sybase/pubs2.dup" [3e /?f &
2>go bi<[r cD
B"8iRkg_
,#_aB tB