Поделиться через


Remove-SqlAvailabilityDatabase

Removes an availability database from its availability group.

Синтаксис

ByPath (по умолчанию)

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

ByObject

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

Описание

The Remove-SqlAvailabilityDatabase cmdlet removes availability database from its availability group. The InputObject or Path parameter specifies the availability database.

If you run this cmdlet at the server instance that hosts the primary replica, the cmdlet removes the primary database and all corresponding secondary databases from the availability group.

If you run this cmdlet at a server instance that hosts a secondary replica, the cmdlet removes only the local secondary database from the availability group. The secondary database is no longer joined to the availability group, but other copies of the database continue to be joined.

Примеры

Example 1: Remove a database from an availability group

PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16"

This command removes the availability database named Database16 from the availability group named MainAG. This command runs on the server instance that hosts the primary replica. Therefore, it removes the primary database and all its corresponding secondary databases from the availability group. Data synchronization no longer occurs for this database on any secondary replica.

Example 2: Remove all databases from an availability group

PS C:\> Get-ChildItem "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases" | Remove-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 removes each availability database.

Example 3: Remove a secondary database from an availability group

PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16"

This command removes the secondary database named Database16 from the secondary replica hosted by the server instance named SecondaryServer\Instance. Data synchronization to the removed secondary databases stops. This command does not affect the primary database or any other secondary databases.

To restart data synchronization on this secondary database, rejoin it to the availability group by running the Add-SqlAvailabilityDatabase cmdlet on the same server instance.

Example 4: Create a script to remove a database from an availability group

PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16" -Script

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

Параметры

-Confirm

Prompts you for confirmation before running the cmdlet.

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:cf

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-InputObject

Specifies availability database, as an AvailabilityDatabase object, that this cmdlet removes.

Свойства параметра

Тип:

AvailabilityDatabase[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ByObject
Position:2
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Path

Specifies the path of an availability database that cmdlet removes.

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ByPath
Position:2
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Script

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

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-WhatIf

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

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:wi

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов: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.

Входные данные

Microsoft.SqlServer.Management.Smo.AvailabilityDatabase

You can pass an availability database to this cmdlet.