sys.fn_hadr_is_primary_replica (Transact-SQL)

适用于:SQL Server

用于确定当前副本是否为主副本。

Transact-SQL 语法约定

语法

sys.fn_hadr_is_primary_replica ( 'dbname' )  

参数

'dbname'
数据库的名称。 dbname 为类型 sysname。

返回

返回数据类型:如果当前实例上的数据库是主副本 (replica),则返回 1,否则返回 0。

备注

使用此函数可以方便地确定本地实例承载是否承载指定可用性数据库的主副本。 示例代码可与以下代码相似。

If sys.fn_hadr_is_primary_replica ( @dbname ) <> 1   
BEGIN  
-- If this is not the primary replica, exit (probably without error).  
END  
-- If this is the primary replica, continue to do the backup.  

示例

A. 使用 sys.fn_hadr_is_primary_replica

如果本地实例上的指定数据库是主副本,则以下示例返回 1。

SELECT sys.fn_hadr_is_primary_replica ('TestDB');  
GO  

安全性

权限

要求具有服务器的 VIEW SERVER STATE 权限。

另请参阅

AlwaysOn 可用性组函数 (Transact-SQL)
sys.dm_hadr_database_副本 (replica)_states (Transact-SQL)AlwaysOn 可用性组 (SQL Server)
CREATE AVAILABILITY GROUP (Transact-SQL)(创建可用性组 (Transact-SQL))
更改可用性组 (Transact-SQL)
AlwaysOn 可用性组目录视图 (Transact-SQL)