Share via


Suspend-SqlAvailabilityDatabase

Suspends data movement on an availability database.

Syntax

ByPath (Default)

Suspend-SqlAvailabilityDatabase
    [[-Path] <String[]>]
    [-Script]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByObject

Suspend-SqlAvailabilityDatabase
    [-InputObject] <AvailabilityDatabase[]>
    [-Script]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

The Suspend-SqlAvailabilityDatabase cmdlet suspends data movement on an availability database. This cmdlet suspends a database on the replica that is hosted by the current server instance. If you suspend a secondary database, this cmdlet sets its state to SUSPENDED. It falls behind the corresponding primary database. If you suspend a primary database, data movement stops on every secondary replica.

Examples

Example 1: Suspend synchronization for a database

PS C:\> Suspend-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\Server\Instance\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16"

This command suspends data synchronization for the availability database Database16 in the availability group named MainAG on the server instance named Server\Instance.

Example 2: Suspend synchronization for all databases

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Server\Instance\AvailabilityGroups\MainAG\AvailabilityDatabases" | Suspend-SqlAvailabilityDatabase

This command gets all the availability databases that belong to MainAG, and then passes them to the current cmdlet by using the pipeline operator. The current cmdlet suspends each availability database.

Example 3: Create a script to suspend a database

PS C:\> Suspend-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\Server\Instance\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16" -Script

This command creates a Transact-SQL script that suspends the availability database named Database16 in 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 database, as an AvailabilityDatabase object, that this cmdlet suspends.

Parameter properties

Type:

AvailabilityDatabase[]

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 an availability database that cmdlet suspends. If you do not specify this parameter, this cmdlet uses current working location.

Parameter properties

Type:

String[]

Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

ByPath
Position:2
Mandatory:False
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.AvailabilityDatabase

You can pass an availability database to this cmdlet.

Notes

  • The instance on which you run this command must be enabled for high availability.