Skip to content

SqlWaitForAG

dscbot edited this page Oct 26, 2024 · 10 revisions

Parameters

Parameter Attribute DataType Description Allowed Values
InstanceName Key String The name of the SQL Server instance to be configured.
ServerName Write String The host name of the SQL Server to be configured. Default value is the current computer name.
Name Key String Name of the cluster role/group to look for (normally the same as the Availability Group name).
RetryIntervalSec Write UInt64 The interval, in seconds, to check for the presence of the cluster role/group. Default value is 20 seconds. When the cluster role/group has been found the resource will wait for this amount of time once more before returning.
RetryCount Write UInt32 Maximum number of retries until the resource will timeout and throw an error. Default values is 30 times.
GroupExist Read Boolean Returns $true if the cluster role/group exist, otherwise it returns $false. Used by Get.

Description

The SqlWaitForAG DSC resource will wait for a cluster role/group to be created. When the cluster group is found it will wait for the availability group to become available. When the availability group has been found the resource will wait the amount of time specified in the parameter RetryIntervalSec before returning.

Requirements

  • Target machine must be running Windows Server 2012 or later.
  • Target machine must be running SQL Server Database Engine 2012 or later.
  • Target machine must have access to the Failover Cluster PowerShell module.

Security Requirements

  • The account running this resource must have permission in the cluster to be able to run the cmdlet Get-ClusterGroup.

Known issues

All issues are not listed here, see here for all open issues.

Examples

Example 1

This example will wait for the cluster role/group 'AGTest1'.

Configuration Example
{
    param
    (
        [Parameter(Mandatory = $true)]
        [System.Management.Automation.PSCredential]
        $SqlAdministratorCredential
    )

    Import-DscResource -ModuleName 'SqlServerDsc'

    node localhost
    {
        SqlWaitForAG 'SQLConfigureAG-WaitAGTest1'
        {
            Name                 = 'AGTest1'
            RetryIntervalSec     = 20
            RetryCount           = 30
            InstanceName         = 'MSSQLSERVER'

            PsDscRunAsCredential = $SqlAdministratorCredential
        }
    }
}

Example 2

This example will wait for both the cluster roles/groups 'AGTest1' and 'AGTest2'.

Configuration Example
{
    param
    (
        [Parameter(Mandatory = $true)]
        [System.Management.Automation.PSCredential]
        $SqlAdministratorCredential
    )

    Import-DscResource -ModuleName 'SqlServerDsc'

    node localhost
    {
        SqlWaitForAG 'SQLConfigureAG-WaitAGTest1'
        {
            Name                 = 'AGTest1'
            RetryIntervalSec     = 20
            RetryCount           = 30
            InstanceName         = 'MSSQLSERVER'

            PsDscRunAsCredential = $SqlAdministratorCredential
        }

        SqlWaitForAG 'SQLConfigureAG-WaitAGTest2'
        {
            Name                 = 'AGTest2'
            RetryIntervalSec     = 20
            RetryCount           = 30
            InstanceName         = 'MSSQLSERVER'

            PsDscRunAsCredential = $SqlAdministratorCredential
        }
    }
}

Home

Commands

Resources

Usage

Clone this wiki locally