sys.fn_hadr_is_primary_replica (Transact-SQL)
Applies to: SQL Server
Used to determine if the current replica is the primary replica.
Transact-SQL syntax conventions
Syntax
sys.fn_hadr_is_primary_replica ( 'dbname' )
Arguments
'dbname'
Is the name of the database. dbname is type sysname.
Returns
Returns data type bit: 1 if the database on the current instance is the primary replica, otherwise 0.
Remarks
Use this function to conveniently determine whether the local instance is hosting the primary replica of the specified availability database. Sample code could be similar to the following.
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.
Examples
A. Using sys.fn_hadr_is_primary_replica
The following example returns 1 if the specified database on the local instance is the primary replica.
SELECT sys.fn_hadr_is_primary_replica ('TestDB');
GO
Security
Permissions
Requires VIEW SERVER STATE permission on the server.
See Also
Always On Availability Groups Functions (Transact-SQL)
sys.dm_hadr_database_replica_states (Transact-SQL)
Always On Availability Groups (SQL Server)
CREATE AVAILABILITY GROUP (Transact-SQL)
ALTER AVAILABILITY GROUP (Transact-SQL)
Always On Availability Groups Catalog Views (Transact-SQL)