Share via


Remove-SqlAvailabilityGroup

Removes an availability group.

Syntax

ByPath (Default)

Remove-SqlAvailabilityGroup
    [-Path] <String[]>
    [-Script]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByObject

Remove-SqlAvailabilityGroup
    [-InputObject] <AvailabilityGroup[]>
    [-Script]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

The Remove-SqlAvailabilityGroup cmdlet removes an availability group in AlwaysOn Availability Groups. You can run this cmdlet on any instance of SQL Server that has AlwaysOn Availability Groups enabled on a Windows Server Failover Clustering (WSFC) node that has security credentials for the availability group.

Examples

Example 1: Remove an availabity group

PS C:\> Remove-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\Server\InstanceName\AvailabilityGroups\MainAG"

This command removes the availability group named MainAG. You can run this command on any server instance that hosts an availability replica for the availability group.

Example 2: Remove all availability groups

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Server\InstanceName\AvailabilityGroups" | Remove-SqlAvailabilityGroup

This command gets all availability groups that have availability replicas in the specified location in the SQLSERVER: provider. The command passes them to the current cmdlet by using the pipeline operator. That cmdlet deletes each availability group.

Example 3: Create a script to remove an availability group

PS C:\> Remove-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\Server\InstanceName\AvailabilityGroups\MainAG" -Script

This command creates a Transact-SQL script that removes the availability group named MainAG. The command does not perform this action.

Parameters

-Confirm

Prompts you for confirmation before running the cmdlet.

Parameter properties

Type:SwitchParameter
Default value:False
Supports wildcards:False
DontShow:False
Aliases:cf

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-InputObject

Specifies availability group that this cmdlet removes.

Parameter properties

Type:

AvailabilityGroup[]

Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

ByObject
Position:2
Mandatory:True
Value from pipeline:True
Value from pipeline by property name:False
Value from remaining arguments:False

-Path

Specifies the path of the availability group that this cmdlet removes.

Parameter properties

Type:

String[]

Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

ByPath
Position:2
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Script

Indicates that this cmdlet returns a Transact-SQL script that performs the task that this cmdlet performs.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Parameter properties

Type:SwitchParameter
Default value:False
Supports wildcards:False
DontShow:False
Aliases:wi

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Inputs

Microsoft.SqlServer.Management.Smo.AvailabilityGroup