---
title: "sys.availability_groups (Transact-SQL) | Microsoft Docs"
ms.custom: ""
ms.date: "06/10/2016"
ms.prod: sql
ms.prod_service: "database-engine"
ms.reviewer: ""
ms.technology: system-objects
ms.topic: "language-reference"
f1_keywords:
- "sys.availability_groups_TSQL"
- "availability_groups_TSQL"
- "sys.availability_groups"
- "availability_groups"
dev_langs:
- "TSQL"
helpviewer_keywords:
- "Availability Groups [SQL Server], monitoring"
- "sys.availability_groups catalog view"
ms.assetid: da7fa55f-c008-45d9-bcfc-3513b02d9e71
author: MikeRayMSFT
ms.author: mikeray
manager: craigg
---
# sys.availability_groups (Transact-SQL)
[!INCLUDE[tsql-appliesto-ss2012-xxxx-xxxx-xxx-md](../../includes/tsql-appliesto-ss2012-xxxx-xxxx-xxx-md.md)]
Returns a row for each availability group for which the local instance of SQL Server hosts an availability replica. Each row contains a cached copy of the availability group metadata.
|Column name|Data type|Description|
|-----------------|---------------|-----------------|
|**group_id**|**uniqueidentifier**|Unique identifier (GUID) of the availability group.|
|**name**|**sysname**|Name of the availability group. This is a user-specified name that must be unique within the Windows Server Failover Cluster (WSFC).|
|**resource_id**|**nvarchar(40)**|Resource ID for the WSFC cluster resource.|
|**resource_group_id**|**nvarchar(40)**|Resource Group ID for the WSFC cluster resource group of the availability group.|
|**failure_condition_level**|**int**|User-defined failure condition level under which an automatic failover must be triggered, one of the integer values shown in the table immediately below this table.
The failure-condition levels (1–5) range from the least restrictive, level 1, to the most restrictive, level 5. A given condition level encompasses all of the less restrictive levels. Thus, the strictest condition level, 5, includes the four less restrictive condition levels (1-4), level 4 includes levels 1-3, and so forth.
To change this value, use the FAILURE_CONDITION_LEVEL option of the [ALTER AVAILABILITY GROUP](../../t-sql/statements/alter-availability-group-transact-sql.md)[!INCLUDE[tsql](../../includes/tsql-md.md)] statement.|
|**health_check_timeout**|**int**|Wait time (in milliseconds) for the [sp_server_diagnostics](../../relational-databases/system-stored-procedures/sp-server-diagnostics-transact-sql.md) system stored procedure to return server-health information, before the server instance is assumed to be slow or hung. The default value is 30000 milliseconds (30 seconds).
To change this value, use the HEALTH_CHECK_TIMEOUT option of the [ALTER AVAILABILITY GROUP](../../t-sql/statements/alter-availability-group-transact-sql.md)[!INCLUDE[tsql](../../includes/tsql-md.md)] statement.|
|**automated_backup_preference**|**tinyint**|Preferred location for performing backups on the availability databases in this availability group. The following are the possible values and their descriptions.
0 : Primary. Backups should always occur on the primary replica.
1 : Secondary only. Performing backups on a secondary replica is preferable.
2 : Prefer Secondary. Performing backups on a secondary replica preferable, but performing backups on the primary replica is acceptable if no secondary replica is available for backup operations. This is the default behavior.
3 : Any Replica. No preference about whether backups are performed on the primary replica or on a secondary replica.
For more information, see [Active Secondaries: Backup on Secondary Replicas (Always On Availability Groups)](../../database-engine/availability-groups/windows/active-secondaries-backup-on-secondary-replicas-always-on-availability-groups.md).|
|**automated_backup_preference_desc**|**nvarchar(60)**|Description of **automated_backup_preference**, one of:
PRIMARY
SECONDARY_ONLY
SECONDARY
NONE|
|**version**|**smallint**|The version of the availability group metadata stored in the Windows Failover Cluster. This version number is incremented when new features are added.|
|**basic_features**|**bit**|Specifies whether this is a Basic availability group. For more information, see [Basic Availability Groups (Always On Availability Groups)](../../database-engine/availability-groups/windows/basic-availability-groups-always-on-availability-groups.md).|
|**dtc_support**|**bit**|Specifies whether DTC support has been enabled for this availability group. The **DTC_SUPPORT** option of **CREATE AVAILABILITY GROUP** controls this setting.|
|**db_failover**|**bit**|Specifies whether the availability group supports failover for database health conditions. The **DB_FAILOVER** option of **CREATE AVAILABILITY GROUP** controls this setting.|
|**is_distributed**|**bit**|Specifies whether this is a distributed availability group. For more information, see [Distributed Availability Groups (Always On Availability Groups)](../../database-engine/availability-groups/windows/distributed-availability-groups-always-on-availability-groups.md).|
## Failure condition level values
The following table describes the possible failure condition levels for the **failure_condition_level** column.
|Value|Failure condition|
|-----------|-----------------------|
|1|Specifies that an automatic failover should be initiated when any of the following occurs:
- The [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] service is down.
- The lease of the availability group for connecting to the WSFC failover cluster expires because no ACK is received from the server instance. For more information, see [How It Works: SQL Server Always On Lease Timeout](http://blogs.msdn.com/b/psssql/archive/2012/09/07/how-it-works-sql-server-Always%20On-lease-timeout.aspx).|
|2|Specifies that an automatic failover should be initiated when any of the following occurs:
- The instance of [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] does not connect to cluster, and the user-specified **health_check_timeout** threshold of the availability group is exceeded.
- The availability replica is in failed state.|
|3|Specifies that an automatic failover should be initiated on critical [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] internal errors, such as orphaned spinlocks, serious write-access violations, or too much dumping.
This is the default value.|
|4|Specifies that an automatic failover should be initiated on moderate [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] internal errors, such as a persistent out-of-memory condition in the [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] internal resource pool.|
|5|Specifies that an automatic failover should be initiated on any qualified failure conditions, including:
- Exhaustion of SQL Engine worker-threads.
- Detection of an unsolvable deadlock.|
## Security
### Permissions
Requires VIEW ANY DEFINITION permission on the server instance.
## See Also
[sys.availability_replicas (Transact-SQL)](../../relational-databases/system-catalog-views/sys-availability-replicas-transact-sql.md)
[Always On Availability Groups (SQL Server)](../../database-engine/availability-groups/windows/always-on-availability-groups-sql-server.md)
[Monitor Availability Groups (Transact-SQL)](../../database-engine/availability-groups/windows/monitor-availability-groups-transact-sql.md)
[Monitor Availability Groups (Transact-SQL)](../../database-engine/availability-groups/windows/monitor-availability-groups-transact-sql.md)