AvailabilityGroup Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
An Availability Group (AG) is the unit of high availability. It represents a collection of related databases that form the business critical application that needs high availability and disaster recovery capability.
[Microsoft.SqlServer.Management.Facets.EvaluationMode(Microsoft.SqlServer.Management.Dmf.AutomatedPolicyEvaluationMode.CheckOnSchedule)]
[Microsoft.SqlServer.Management.Sdk.Sfc.PhysicalFacet]
public sealed class AvailabilityGroup : Microsoft.SqlServer.Management.Smo.NamedSmoObject, Microsoft.SqlServer.Management.Common.IAlterable, Microsoft.SqlServer.Management.Common.ICreatable, Microsoft.SqlServer.Management.Common.IDropIfExists, Microsoft.SqlServer.Management.Common.IDroppable, Microsoft.SqlServer.Management.Smo.IObjectPermission, Microsoft.SqlServer.Management.Smo.IScriptable
[<Microsoft.SqlServer.Management.Facets.EvaluationMode(Microsoft.SqlServer.Management.Dmf.AutomatedPolicyEvaluationMode.CheckOnSchedule)>]
[<Microsoft.SqlServer.Management.Sdk.Sfc.PhysicalFacet>]
type AvailabilityGroup = class
inherit NamedSmoObject
interface IObjectPermission
interface ICreatable
interface IAlterable
interface IDroppable
interface IDropIfExists
interface IScriptable
[<Microsoft.SqlServer.Management.Facets.EvaluationMode(Microsoft.SqlServer.Management.Dmf.AutomatedPolicyEvaluationMode.CheckOnSchedule)>]
[<Microsoft.SqlServer.Management.Sdk.Sfc.PhysicalFacet>]
type AvailabilityGroup = class
inherit NamedSmoObject
interface ICreatable
interface IAlterable
interface IDroppable
interface IDropIfExists
interface IScriptable
interface IObjectPermission
Public NotInheritable Class AvailabilityGroup
Inherits NamedSmoObject
Implements IAlterable, ICreatable, IDropIfExists, IDroppable, IObjectPermission, IScriptable
- Inheritance
- Attributes
- Implements
Constructors
AvailabilityGroup() | |
AvailabilityGroup(Server, String) |
Fields
m_ExtendedProperties | (Inherited from SqlSmoObject) |
singletonParent |
Regular SMO objects access the parent class reference through parentColl (corresponding collection in parent class). Singleton class has no collection in parent. (Inherited from SqlSmoObject) |
Properties
AutomatedBackupPreference | |
AvailabilityDatabases |
The collection of availability databases contained in the availability group. |
AvailabilityGroupListeners |
The collection of replicas participating in the availability group. |
AvailabilityReplicas |
The collection of replicas participating in the availability group. |
BasicAvailabilityGroup | |
ClusterType | |
ClusterTypeWithDefault |
Gets the cluster type of the availability group, if the primary server is 130 or lower, return Wsfc instead |
DatabaseEngineEdition |
Returns the DatabaseEngineEdition of the SMO object (Inherited from SqlSmoObject) |
DatabaseEngineType |
Returns the DatabaseEngineType of the SMO object (Inherited from SqlSmoObject) |
DatabaseHealthTrigger | |
DatabaseReplicaStates |
A collection of objects represeting the states of physical database replicas participating in the availability groups. On an Availability Replica in a primary role, the collection returns information on all Database Replicas on all Availability Replicas. On an Availability Replica in a secondary role, the collection returns information on just the local Database Replicas. The collection is keyed on the "AvailabilityReplicaServerName" and "AvailabilityDatabaseName" properties of the DatabaseReplciaState object. |
DtcSupportEnabled | |
ExecuteForScalar | (Inherited from SqlSmoObject) |
ExecutionManager | (Inherited from SqlSmoObject) |
FailureConditionLevel | |
HealthCheckTimeout | |
ID | |
IsDistributedAvailabilityGroup | |
IsTouched |
Whether the object has been touched for unconditional scripting of Alter (Inherited from SqlSmoObject) |
LocalReplicaRole | |
Name | (Inherited from NamedSmoObject) |
ObjectInSpace | (Inherited from SqlSmoObject) |
Parent | |
ParentCollection |
Returns the collection that contains the object. May be null. (Inherited from SqlSmoObject) |
PrimaryReplicaServerName | |
Properties | (Inherited from SqlSmoObject) |
RequiredSynchronizedSecondariesToCommit | |
ScalarResult | (Inherited from SqlSmoObject) |
ServerVersion |
Returns the ServerVersion of the Server that contains the object. If the object is not associated with a connected Server, the highest known server version is returned. (Inherited from SqlSmoObject) |
State |
Returns the state of the object (Inherited from SmoObjectBase) |
UniqueId | |
Urn |
Returns the Urn of the object, computed on the fly (Inherited from SqlSmoObject) |
UrnSuffix |
returns the name of the type in the urn expression |
UserData | (Inherited from SmoObjectBase) |
Methods
AddDatabaseContext(StringCollection) |
method get called from the create script related method (from derived classes like Table, Index etc..) (Inherited from SqlSmoObject) |
Alter() |
Alter an availability group. This is called when the alterable AG properties are changed. |
AlterImpl() | (Inherited from SqlSmoObject) |
AlterImplWorker() | (Inherited from SqlSmoObject) |
BindDefaultImpl(String, String, Boolean) | (Inherited from SqlSmoObject) |
BindRuleImpl(String, String, Boolean) | (Inherited from SqlSmoObject) |
CheckObjectState() | (Inherited from SqlSmoObject) |
CheckObjectState(Boolean) |
This is a virtual function, so that derived classes can override it if they want to do additional checks on the state of the object (Inherited from SqlSmoObject) |
CheckObjectStateImpl(Boolean) |
Checks object state Because it is not recusrive, this function can be called directly and which means derived classes can't supply their own validation (Inherited from SqlSmoObject) |
CleanObject() | (Inherited from SqlSmoObject) |
Create() |
Create an availability group that has been specified on the client on the back end. The availability group creation will include any availability replicas or availability databases added to the object before creation. |
CreateImpl() | (Inherited from SqlSmoObject) |
CreateOrAlterImpl() | (Inherited from SqlSmoObject) |
DemoteAsSecondary() |
Demote the current replica as secondary |
Deny(ObjectPermissionSet, String, Boolean) | |
Deny(ObjectPermissionSet, String) | |
Deny(ObjectPermissionSet, String[], Boolean) | |
Deny(ObjectPermissionSet, String[]) | |
Discover() |
Best Effort Discovery mechanism : This method reflects upon metadata and gets all available objects (Inherited from SqlSmoObject) |
Drop() |
Drop an availability group. |
DropIfExists() |
Drops the object with IF EXISTS option. If object is invalid for drop function will return without exception. |
DropImpl(Boolean, Boolean) |
For drop calls on the user database in Azure, the connection will be closed as the database is dropped The ExecutionManager will normally attempt to retry such calls by reopening the connection We want to avoid this retry when handleSevereError is true. (Inherited from SqlSmoObject) |
DropImpl(Boolean) |
drops the object (Inherited from SqlSmoObject) |
DropImplWorker(Urn, Boolean) |
drops the object (Inherited from SqlSmoObject) |
EnumObjectPermissions() | |
EnumObjectPermissions(ObjectPermissionSet) | |
EnumObjectPermissions(String, ObjectPermissionSet) | |
EnumObjectPermissions(String) | |
EnumReplicaClusterNodes() |
Returns a DataTable with information about the cluster configuration of the availability group. For each replica, a row is present for each node that hosts the replica. A replica can be hosted by multiple nodes if the replica is hosted on an FCI. The schema of this table is: ReplicaName (sysname) | NodeName (sysname) | MemberType (tinyint) | MemberState (tinyint) | NumberOfQuorumVotes (int) |
ExecuteNonQuery(StringCollection, Boolean, Boolean) |
Executes sql statements (Inherited from SqlSmoObject) |
ExecuteRenameQuery(String) |
Creates the Rename query for a SqlSmoObject and Executes it on the Server. (Inherited from NamedSmoObject) |
ExecuteWithModes(SqlExecutionModes, Action) |
Executes the given action under the given execution modes. Resets the original modes after the action completes or fails. (Inherited from SqlSmoObject) |
Failover() |
Perform a manual failover of this availability group to the server specified by the Parent property. This server should be participating in the availability group as a secondary replica. The result of the action will be to designate this server as the primary of this availability group. This action has no possibility of data loss. |
FailoverWithPotentialDataLoss() |
Perform a force failover of this availability group to the server specified by the Parent property. This server should be participating in the availability group as a secondary replica. The result of the action will be to designate this server as the primary of this availability group. This action has the possibility of data loss if the databases on the replica are not synchronized with the primary. |
FormatSqlVariant(Object) | (Inherited from SqlSmoObject) |
GenerateAlterEvent() | (Inherited from SqlSmoObject) |
GenerateAlterEvent(Urn, Object) | (Inherited from SqlSmoObject) |
GetContextDB() | (Inherited from SqlSmoObject) |
GetDBName() | (Inherited from SqlSmoObject) |
GetDisabledProperties(ScriptingPreferences) |
Provides an enumerable of properties that are explicitly disabled for specific server types or editions. This is not a list of all properties that don't work for the specified target. (Inherited from SqlSmoObject) |
GetFragOptionString(FragmentationOption) | (Inherited from SqlSmoObject) |
GetPropValue(String) |
Retrieve the property value from : - The property bag directly if property is available (dirty or retrieved) - A call to our OnPropertyMissing method otherwise Will throw an exception if the property value is NULL in either case. (Inherited from SqlSmoObject) |
GetPropValueOptional(String) |
Retrieve the property value from : - The property bag if the state is creating or we're in Design Mode (possible NULL value) - A call to our OnPropertyMissing method otherwise (will throw exception if value is NULL) (Inherited from SqlSmoObject) |
GetPropValueOptional<T>(String, T) |
Returns the value of the named property. If the object is in the Creating state and the property has not yet been set the defaultValue is returned. If the object exists the defaultValue is ignored and the actual value is returned. (Inherited from SqlSmoObject) |
GetPropValueOptionalAllowNull(String) |
Retrieve the property value from : - The property bag if the state is creating or we're in Design Mode (possible NULL) - A call to our OnPropertyMissing method otherwise (possible NULL) (Inherited from SqlSmoObject) |
GetRealValue(Property, Object) |
Returns the real value for the property. (Inherited from SqlSmoObject) |
GetServerName() | (Inherited from SqlSmoObject) |
GetServerObject() | (Inherited from SqlSmoObject) |
GetSqlServerVersionName() |
Gets the sqlserver public name for the current connection, e.g: will transfer "SQLTOOLS2008-2" to "SQL Server 2008". (Inherited from SqlSmoObject) |
GetStringComparer() |
Returns the comparer used by all child object collections to perform comparison of object names. The comparer of a Server is based on the collation of master The comparer of a Database and its children is based on the database collation (Inherited from SqlSmoObject) |
GetUrnRecursive(StringBuilder, UrnIdOption) |
Computes the Urn for the object, potentially including other fields in the definition besides the key fields. (Inherited from SqlSmoObject) |
GetUrnRecursive(StringBuilder) |
Computes the Urn for the object. (Inherited from SqlSmoObject) |
Grant(ObjectPermissionSet, String, Boolean, String) | |
Grant(ObjectPermissionSet, String, Boolean) | |
Grant(ObjectPermissionSet, String) | |
Grant(ObjectPermissionSet, String[], Boolean, String) | |
Grant(ObjectPermissionSet, String[], Boolean) | |
Grant(ObjectPermissionSet, String[]) | |
ImplInitialize(String[], OrderBy[]) | (Inherited from SqlSmoObject) |
InitChildCollection(Urn, Boolean) |
Initializes the child object collection associated with the given type. For example, the name Column would initialize the Columns collection. (Inherited from SqlSmoObject) |
Initialize() | (Inherited from SqlSmoObject) |
Initialize(Boolean) |
Initializes the object, by reading its properties from the enumerator (Inherited from SqlSmoObject) |
IsExpressSku() |
Returns whether the server containing this object is an Express SKU (Inherited from SqlSmoObject) |
IsObjectDirty() | (Inherited from SqlSmoObject) |
IsObjectInitialized() | (Inherited from SqlSmoObject) |
IsObjectInSpace() | (Inherited from SqlSmoObject) |
IsSupportedProperty(String) |
Validate whether the specified property is supported in current server environment (Inherited from SqlSmoObject) |
IsVersion80SP3() | (Inherited from SqlSmoObject) |
IsVersion90AndAbove() | (Inherited from SqlSmoObject) |
MarkDropped() | (Inherited from SqlSmoObject) |
MarkForDropImpl(Boolean) | (Inherited from SqlSmoObject) |
PostAlter() |
this function is meant to be overriden by derived classes, if they have to do supplimentary actions after altering the object (Inherited from SqlSmoObject) |
PostCreate() |
this function is meant to be overriden by derived classes, if they have to do supplimentary actions after object creation (Inherited from SqlSmoObject) |
PostDrop() |
this function is meant to be overriden by derived classes, if they have to do supplimentary actions after dropping the object (Inherited from SqlSmoObject) |
Refresh() |
refreshes the object's properties by reading them from the server (Inherited from SqlSmoObject) |
RenameImpl(String) |
change object name (Inherited from NamedSmoObject) |
RenameImplWorker(String) | (Inherited from NamedSmoObject) |
Revoke(ObjectPermissionSet, String, Boolean, Boolean, String) | |
Revoke(ObjectPermissionSet, String, Boolean, Boolean) | |
Revoke(ObjectPermissionSet, String) | |
Revoke(ObjectPermissionSet, String[], Boolean, Boolean, String) | |
Revoke(ObjectPermissionSet, String[], Boolean, Boolean) | |
Revoke(ObjectPermissionSet, String[]) | |
Script() |
Generate the script for creating this availability group. |
Script(ScriptingOptions) |
Generate a script for this availability group using the specified scripting options. |
ScriptImpl() | (Inherited from SqlSmoObject) |
ScriptImpl(ScriptingOptions) |
Returns a StringCollection object with the script for the object. This method throws an error if ScriptData is true (Inherited from SqlSmoObject) |
SetAccessToken(IRenewableToken) |
Set the accessToken for connection. (Inherited from SqlSmoObject) |
SetParentImpl(SqlSmoObject) | (Inherited from SqlSmoObject) |
SetSchemaOwned() | (Inherited from NamedSmoObject) |
SetState(SqlSmoState) |
Sets the object state (Existing, Dropped etc.) Applications should avoid using this method. (Inherited from SmoObjectBase) |
ThrowIfAboveVersion100(String) |
Throws an exception if the ServerVersion major version for this object is above 10.0 (SQL 2008) (Inherited from SqlSmoObject) |
ThrowIfAboveVersion80(String) |
Throws an exception if the ServerVersion major version for this object is above 8.0 (SQL 2000) (Inherited from SqlSmoObject) |
ThrowIfBelowVersion100(String) |
Throws an exception if the ServerVersion major version for this object is below 10.0 (SQL 2008) (Inherited from SqlSmoObject) |
ThrowIfBelowVersion110(String) |
Throws an UnsupportedVersionException if either the source or destination server is below 11.0 (SQL 2012) (Inherited from SqlSmoObject) |
ThrowIfBelowVersion110Prop(String) |
Throws an exception with text saying the specified property is not supported if the ServerVersion major version for this object is below 11.0 (SQL 2012) (Inherited from SqlSmoObject) |
ThrowIfBelowVersion120(String) |
Throws an exception if the ServerVersion major version for this object is below 12.0 (SQL 2014) (Inherited from SqlSmoObject) |
ThrowIfBelowVersion120Prop(String) |
Throws an exception with text saying the specified property is not supported if the ServerVersion major version for this object is below 12.0 (SQL 2014) (Inherited from SqlSmoObject) |
ThrowIfBelowVersion130(String) |
Throws an exception if the ServerVersion major version for this object is below 13.0 (SQL 2016) (Inherited from SqlSmoObject) |
ThrowIfBelowVersion130Prop(String) |
Throws an exception with text saying the specified property is not supported if the ServerVersion major version for this object is below 13.0 (SQL 2016) (Inherited from SqlSmoObject) |
ThrowIfBelowVersion140(String) |
Throws an exception if the ServerVersion major version for this object is below 14.0 (SQL 2017) (Inherited from SqlSmoObject) |
ThrowIfBelowVersion140Prop(String) |
Throws an exception with text saying the specified property is not supported if the ServerVersion major version for this object is below 14.0 (SQL 2017) (Inherited from SqlSmoObject) |
ThrowIfBelowVersion80(String) |
Throws an exception if the ServerVersion major version for this object is below 8.0 (SQL 2000) (Inherited from SqlSmoObject) |
ThrowIfBelowVersion80SP3() |
Throws an exception if the ServerVersion for this object is below 8.760 (8.0 SP3) (Inherited from SqlSmoObject) |
ThrowIfBelowVersion90(String) |
Throws an exception if the ServerVersion major version for this object is below 9.0 (SQL 2005) (Inherited from SqlSmoObject) |
ToString() | (Inherited from SqlSmoObject) |
Touch() |
Mark the object "touched" for unconditional scripting of Alter. (Inherited from SqlSmoObject) |
TouchImpl() |
Virtual method to allow derived classes to do additional work when touched. (Inherited from SqlSmoObject) |
UnbindDefaultImpl(Boolean) | (Inherited from SqlSmoObject) |
UnbindRuleImpl(Boolean) | (Inherited from SqlSmoObject) |
Validate(String, Object[]) | (Inherited from SmoObjectBase) |
Events
PropertyChanged | (Inherited from SqlSmoObject) |
PropertyMetadataChanged | (Inherited from SqlSmoObject) |
Explicit Interface Implementations
IAlienObject.Discover() | (Inherited from SqlSmoObject) |
IAlienObject.GetDomainRoot() | (Inherited from SqlSmoObject) |
IAlienObject.GetParent() | (Inherited from SqlSmoObject) |
IAlienObject.GetPropertyType(String) |
Discovers type of property. (Inherited from SqlSmoObject) |
IAlienObject.GetPropertyValue(String, Type) |
Retrieves value for a given property. Throws if property is not found. (Inherited from SqlSmoObject) |
IAlienObject.GetUrn() | (Inherited from SqlSmoObject) |
IAlienObject.Resolve(String) | (Inherited from SqlSmoObject) |
IAlienObject.SetObjectState(SfcObjectState) |
Sets state of this object based on provided SfcObjectState. (Inherited from SqlSmoObject) |
IAlienObject.SetPropertyValue(String, Type, Object) |
Sets the value of given property, if it is writable. If property is not in property bag, reflection is used. Throws exception if the property is not found. (Inherited from SqlSmoObject) |
ISfcPropertyProvider.GetPropertySet() | (Inherited from SqlSmoObject) |
Extension Methods
GetAssessmentItems(AvailabilityGroup, String[]) |
Finds all available checks for given |
GetAssessmentItems(SqlSmoObject, String[]) |
Finds all available checks for given |
GetAssessmentResults(AvailabilityGroup, IEnumerable<ICheck>) |
Synchronously runs assessment for given |
GetAssessmentResults(AvailabilityGroup, String[]) |
Synchronously runs assessment for given |
GetAssessmentResults(SqlSmoObject, IEnumerable<ICheck>) |
Synchronously runs assessment for given |
GetAssessmentResults(SqlSmoObject, String[]) |
Synchronously runs assessment for given |
GetAssessmentResultsList(AvailabilityGroup, IEnumerable<ICheck>) |
Synchronously runs assessment for given |
GetAssessmentResultsList(AvailabilityGroup, String[]) |
Asynchronously runs assessment for given |
GetAssessmentResultsList(SqlSmoObject, IEnumerable<ICheck>) |
Asynchronously runs assessment for given |
GetAssessmentResultsList(SqlSmoObject, String[]) |
Asynchronously runs assessment for given |
IsSupportedObject<T>(SqlSmoObject, ScriptingPreferences) |
Checks if the specified type is supported by the ServerVersion and DatabaseEngineType of the root server for this object. If ScriptingPreferences are non-null will also check if specified type is supported by the ServerVersion and DatabaseEngineType of the target server. |