sp_dbrecovery_order [<database_name>[, <rec_order>[, force[, relax | strict ]]]]
<database_name>
是为其指派恢复顺序的数据库的名称或要列出其用户定义的恢复顺序的数据库的名称。
<rec_order>
是恢复数据库的顺序。若 <rec_order> 为 -1,则将从用户定义的恢复序列中删除指定的数据库。
force
允许用户将数据库插入现有恢复序列中,而不将该数据库放在末尾。
relax
指定在恢复数据库时创建数据库(缺省值)。
缺省值是 relax,这意味着在完成恢复后数据库立即进入联机状态。
strict
指定按恢复顺序指定数据库。
使 pubs2 数据库成为在系统故障后恢复的第一个用户数据库:
sp_dbrecovery_order pubs2, 1
将 pubs3 数据库插入用户定义的恢复序列中的第三个位置。如果另一个数据库原先在第三个位置,则它将被移动到第四位,后面的所有数据库也相应向后移动:
sp_dbrecovery_order pubs3, 3, force
从用户定义的恢复序列中删除 pubs2 数据库。这样,在恢复了具有用户指定的恢复顺序的所有数据库后才会恢复 pubs2:
sp_dbrecovery_order pubs2, -1
列出具有恢复顺序(通过 sp_dbrecovery_order 指派)的所有数据库的当前恢复顺序:
sp_dbrecovery_order
使用 sp_dbrecovery_order 时,还存在一些其它注意事项:
1 master
2 model
3 tempdb
4 sybsystemdb
5 sybsecurity
6 sybsystemprocs
<database_name>:
a 已指定但没有给出 <rec_order> – sp_dbrecovery_order 将显示指定数据库的用户定义的恢复位置。
b 未指定 – sp_dbrecovery_order 将列出具有用户指派的恢复顺序的所有数据库的恢复顺序。
<rec_order> 指派为 1。如果有三个数据库的恢复顺序分别被指派为 1、2 和 3,则不能将下一个数据库的恢复顺序指派为 5。