你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Stop-AzureSqlDatabaseCopy

终止连续复制关系。

注意

本文档中引用的 cmdlet 用于管理使用 Azure Service Manager (ASM) API 的旧式 Azure 资源。 创建新资源时,建议不要使用旧的 PowerShell 模块,因为计划将停用 ASM。 有关详细信息,请参阅 Azure Service Manager 停用

Az PowerShell 模块是建议用于管理 PowerShell 的 Azure 资源管理器 (ARM) 资源的 PowerShell 模块。

语法

Stop-AzureSqlDatabaseCopy
    -ServerName <String>
    -DatabaseCopy <DatabaseCopy>
    [-ForcedTermination]
    [-Force]
    [-Profile <AzureSMProfile>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Stop-AzureSqlDatabaseCopy
    -ServerName <String>
    -Database <Database>
    [-PartnerServer <String>]
    [-PartnerDatabase <String>]
    [-ForcedTermination]
    [-Force]
    [-Profile <AzureSMProfile>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Stop-AzureSqlDatabaseCopy
    -ServerName <String>
    -DatabaseName <String>
    [-PartnerServer <String>]
    [-PartnerDatabase <String>]
    [-ForcedTermination]
    [-Force]
    [-Profile <AzureSMProfile>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

说明

Stop-AzureSqlDatabaseCopy cmdlet 终止连续复制关系。 此 cmdlet 停止源数据库与辅助数据库或目标数据库之间的数据移动,然后将辅助数据库的状态更改为独立联机数据库。

有两种方法可以结束连续复制关系、终止或计划终止以及可能数据丢失的强制终止。 在托管源数据库的服务器上,可以在终止或强制终止模式下运行此 cmdlet。 在托管辅助数据库的服务器上,必须使用强制终止模式。

计划终止将等到运行 cmdlet 时源数据库上所有提交的事务都已复制到辅助数据库。 强制终止不会等待复制任何未完成的已提交事务,并可能导致辅助数据库中可能出现的数据丢失。

复制状态为 PENDING 时,只有强制终止才能成功结束连续复制关系。 如果复制状态为 PENDING,则不支持强制终止。

示例

示例 1:终止连续复制关系

PS C:\>Stop-AzureSqlDatabaseCopy -ServerName "lpqd0zbr8y" -DatabaseName "Orders" -PartnerServer "bk0b8kf658"

此命令终止名为 lpqd0zbr8y 的服务器中名为 Orders 的数据库的持续复制关系。 名为 bk0b8kf658 的服务器托管辅助数据库。

示例 2:强行终止连续复制关系

PS C:\>$DatabaseCopy = Get-AzureSqlDatabaseCopy -ServerName "lpqd0zbr8y" -DatabaseName "Orders"
PS C:\> $DatabaseCopy | Stop-AzureSqlDatabaseCopy -ServerName "lpqd0zbr8y" -ForcedTermination

第一个命令获取名为 lpqd0zbr8y 的服务器中名为 Orders 的数据库的数据库的数据库复制关系。

第二个命令强行终止托管辅助数据库的服务器中的连续复制关系。

参数

-Confirm

提示你在运行 cmdlet 之前进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-Database

指定表示源Azure SQL 数据库的对象。 此 cmdlet 终止此参数指定的数据库的连续复制关系。

类型:Database
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-DatabaseCopy

指定表示数据库的对象。 此 cmdlet 终止此参数指定的数据库的连续复制关系。 此参数接受管道输入。

类型:DatabaseCopy
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-DatabaseName

指定数据库的名称。 此 cmdlet 终止此参数指定的数据库的连续复制关系。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Force

强制运行命令而不要求用户确认。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ForcedTermination

指示此 cmdlet 导致连续复制关系的强制终止。 强制终止可能会导致数据丢失。 若要在托管目标数据库的服务器上运行此 cmdlet,必须指定此参数。 若要在托管源数据库的服务器上运行此 cmdlet,如果辅助数据库不可用,则必须指定此参数。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PartnerDatabase

指定辅助数据库的名称。 如果指定名称,则它必须与源数据库的名称匹配。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PartnerServer

指定承载目标数据库的服务器的名称。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Profile

指定此 cmdlet 从中读取的 Azure 配置文件。 如果未指定配置文件,此 cmdlet 将从本地默认配置文件中读取。

类型:AzureSMProfile
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ServerName

指定源数据库所在的服务器的名称。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

Microsoft.WindowsAzure.Commands.SqlDatabase.Model.DatabaseCopy

Microsoft.WindowsAzure.Commands.SqlDatabase.Services.Server.Database

输出

None

备注

  • 身份验证:此 cmdlet 需要基于证书的身份验证。 有关如何使用基于证书的身份验证设置当前订阅的示例,请参阅 New-AzureSqlDatabaseServerContext cmdlet。

  • 限制:在托管辅助数据库的服务器上,仅支持强制终止。

  • 终止对以前的辅助数据库的影响:终止后,辅助数据库将成为独立的数据库。 如果在辅助数据库上完成种子设定,则终止后,此数据库将打开,以便完全访问。 如果源数据库是读写数据库,则以前的辅助数据库也将成为读写数据库。

    如果种子设定当前正在进行中,则种子设定已中止,并且前辅助数据库永远不会在承载辅助数据库的服务器上可见。

  • 可以将源数据库设置为只读模式。 这可以保证在终止后同步源数据库和辅助数据库,并确保在终止期间未提交任何事务。 终止完成后,将源重新设置为读写模式。 (可选)还可以将以前的辅助数据库设置为读写模式。

  • 监视:若要验证连续复制关系的源和目标操作的状态,请使用 Get-AzureSqlDatabaseOperation cmdlet。