Condividi tramite


Stop-AzureSqlDatabaseCopy

Termina una relazione di copia continua.

Nota

I cmdlet a cui si fa riferimento in questa documentazione sono per la gestione delle risorse di Azure legacy che usano le API di Azure Service Manager (ASM). Questo modulo di PowerShell legacy non è consigliato durante la creazione di nuove risorse perché ASM è pianificato per il ritiro. Per altre informazioni, vedere Ritiro di Azure Service Manager.

Il modulo Az PowerShell è il modulo PowerShell consigliato per la gestione delle risorse di Azure Resource Manager (ARM) con PowerShell.

Sintassi

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>]

Descrizione

Il cmdlet Stop-AzureSqlDatabaseCopy termina una relazione di copia continua. Questo cmdlet arresta lo spostamento dei dati tra il database di origine e il database secondario o di destinazione e quindi modifica lo stato del database secondario in modo che sia un database online autonomo.

Esistono due modi per terminare una relazione di copia continua, la terminazione o la terminazione pianificata e la terminazione forzata con possibile perdita di dati. Nel server che ospita il database di origine è possibile eseguire questo cmdlet in modalità di terminazione o terminazione forzata. Nel server che ospita il database secondario è necessario usare la modalità di terminazione forzata.

Una terminazione pianificata attende fino a quando tutte le transazioni di cui è stato eseguito il commit nel database di origine, al momento dell'esecuzione del cmdlet, sono state replicate nel database secondario. La terminazione forzata non attende la replica di transazioni con commit in sospeso e può causare possibile perdita di dati nel database secondario.

Mentre lo stato della replica è IN SOSPESO, solo la terminazione forzata può terminare correttamente una relazione di copia continua. Se lo stato della replica è IN SOSPESO, la terminazione non forzata non è supportata.

Esempio

Esempio 1: Terminare una relazione di copia continua

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

Questo comando termina la relazione di copia continua del database denominato Orders nel server denominato lpqd0zbr8y. Il server denominato bk0b8kf658 ospita il database secondario.

Esempio 2: Termina forzatamente una relazione di copia continua

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

Il primo comando ottiene la relazione di copia del database per il database denominato Orders nel server denominato lpqd0zbr8y.

Il secondo comando termina forzatamente una relazione di copia continua dal server che ospita il database secondario.

Parametri

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Database

Specifica un oggetto che rappresenta il database SQL di Azure di origine. Questo cmdlet termina la relazione di copia continua del database specificato da questo parametro.

Tipo:Database
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-DatabaseCopy

Specifica un oggetto che rappresenta un database. Questo cmdlet termina la relazione di copia continua del database specificato da questo parametro. Questo parametro accetta l'input della pipeline.

Tipo:DatabaseCopy
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-DatabaseName

Specifica il nome di un database. Questo cmdlet termina la relazione di copia continua del database specificato da questo parametro.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Force

Forza l'esecuzione del comando senza chiedere conferma all'utente.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ForcedTermination

Indica che questo cmdlet causa la chiusura forzata della relazione di copia continua. La terminazione forzata può causare la perdita di dati. Per eseguire questo cmdlet in un server che ospita il database di destinazione, è necessario specificare questo parametro. Per eseguire questo cmdlet in un server che ospita il database di origine, se il database secondario non è disponibile, è necessario specificare questo parametro.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PartnerDatabase

Specifica il nome del database secondario. Se si specifica un nome, deve corrispondere al nome del database di origine.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PartnerServer

Specifica il nome del server che ospita il database di destinazione.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Profile

Specifica il profilo di Azure da cui viene letto questo cmdlet. Se non si specifica un profilo, questo cmdlet legge dal profilo predefinito locale.

Tipo:AzureSMProfile
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ServerName

Specifica il nome del server in cui risiede il database di origine.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

Microsoft.WindowsAzure.Commands.SqlDatabase.Model.DatabaseCopy

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

Output

None

Note

  • Autenticazione: questo cmdlet richiede l'autenticazione basata su certificato. Per un esempio di come usare l'autenticazione basata su certificati per impostare la sottoscrizione corrente, vedere il cmdlet New-AzureSqlDatabaseServerContext .

  • Restrizioni: nel server che ospita il database secondario è supportata solo la terminazione forzata.

  • Impatto della terminazione nel database secondario precedente: dopo la terminazione, il database secondario diventa un database indipendente. Se il seeding è già stato completato nel database secondario, dopo la chiusura il database è aperto per l'accesso completo. Se il database di origine è un database di lettura/scrittura, anche il database secondario precedente diventa un database di lettura/scrittura.

    Se il seeding è in corso, il seeding viene interrotto e il database secondario precedente non diventa mai visibile nel server che ospita il database secondario.

  • È possibile impostare il database di origine sulla modalità di sola lettura. Ciò garantisce che i database di origine e secondari vengano sincronizzati dopo la terminazione e che non venga eseguito il commit delle transazioni durante la terminazione. Al termine della terminazione, impostare di nuovo l'origine sulla modalità di lettura/scrittura. Facoltativamente, è anche possibile impostare il database secondario precedente sulla modalità di lettura/scrittura.

  • Monitoraggio: per verificare lo stato delle operazioni sia nell'origine che nella destinazione della relazione di copia continua, usare il cmdlet Get-AzureSqlDatabaseOperation .