Transact-SQL 参考

sp_change_primary_role

从日志传送计划中删除主数据库。

语法

sp_change_primary_role [ @db_name = ] 'db_name'
    , [ @backup_log = ] backup_log
    , [ @terminate = ] terminate
    , [ @final_state = ] final_state
    , [ @access_level = ] access_level

参数

[@db_name =] 'db_name'

指定要删除的主数据库名称。db_name 的数据类型为 sysname,没有默认值。

[@backup_log =] backup_log

备份主数据库事务日志的尾部。backup_log 的数据类型为 bit,默认值为 1。

[@terminate =] terminate

指定立即回滚所有挂起的事务,并在该存储过程运行期间将主数据库置于单用户模式下。terminate 的数据类型为 bit,默认值为 1。

[@final_state =] final_state

指定在完成该存储过程后数据库的恢复状态。final_state 的数据类型为 smallint,默认值为 1,可以是下列值之一。

描述
1 RECOVERY
2 NO RECOVERY
3 STANDBY

有关这些选项含义的更多信息,请参见 RESTORE

[@access_level =] access_level

指定完成该存储过程后数据库的访问级别。access_level 的数据类型为 smallint,默认值是 1,可以是下列值之一。

描述
1 MULTI_USER
2 RESTRICTED_USER
3 SINGLE_USER

有关这些选项含义的更多信息,请参见 ALTER DATABASE

返回代码值

1(失败)或无(成功)

结果集

注释

必须在标记为当前主服务器的 SQL Server 实例上运行 sp_change_primary_role

为完成日志传送角色更改,除运行此过程外,还必须执行某些步骤。有关更多信息,请参见如何设置和执行日志传送角色转变 (Transact-SQL)

在从日志传送计划中删除数据库事务日志之前备份它。

权限

只有 sysadmin 固定服务器角色成员才能执行 sp_change_primary_role

示例

下例显示如何从日志传送计划中删除主数据库。

EXEC sp_change_primary_role @db_name = 'db1',
   @job_id = '6F9619FF-8B86-D011-B42D-00C04FC964FF',

请参见

sp_change_monitor_role

sp_change_secondary_role

sp_resolve_logins