Rimuovere un database secondario da un gruppo di disponibilità (SQL Server)Remove a Secondary Database from an Availability Group (SQL Server)

In questo argomento viene illustrato come rimuovere un database secondario da un gruppo di disponibilità AlwaysOn usando SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQLo PowerShell in SQL Server 2017SQL Server 2017.This topic describes how to remove a secondary database from an Always On availability group by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or PowerShell in SQL Server 2017SQL Server 2017.

Prima di iniziare Before You Begin

Prerequisiti e restrizioni Prerequisites and Restrictions

  • Questa attività è supportata solo sulle repliche secondarie.This task is supported only on secondary replicas. È necessario essere connessi all'istanza del server che ospita la replica secondaria da cui verrà rimosso il database.You must be connected to the server instance that hosts the secondary replica from which the database is to be removed.

Sicurezza Security

Autorizzazioni Permissions

È richiesta l'autorizzazione ALTER per il database.Requires ALTER permission on the database.

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per rimuovere un database secondario da un gruppo di disponibilitàTo remove a secondary database from an availability group

  1. In Esplora oggetti connettersi all'istanza del server che ospita la replica secondaria da cui si desidera rimuovere uno o più database secondari ed espandere l'albero del server.In Object Explorer, connect to the server instance that hosts the secondary replica from which you want to remove one or more secondary databases, and expand the server tree.

  2. Espandere il nodo Disponibilità elevata AlwaysOn e il nodo Gruppi di disponibilità .Expand the Always On High Availability node and the Availability Groups node.

  3. Selezionare il gruppo di disponibilità ed espandere il nodo Database di disponibilità .Select the availability group, and expand the Availability Databases node.

  4. Questo passaggio dipende dalla scelta di rimuovere uno o più database:This step depends on whether you want to remove multiple databases groups or only one database, as follows:

  5. Fare clic con il pulsante destro del mouse sul database o sui database selezionati e scegliere Rimuovi database secondario nel menu dei comandi.Right-click the selected database or databases, and select Remove Secondary Database in the command menu.

  6. Nella finestra di dialogo Rimuovi database dal gruppo di disponibilità scegliere OKper rimuovere tutti i database elencati.In the Remove Database from Availability Group dialog box, to remove all the listed databases, click OK. Se non si desidera rimuovere tutti i database elencati, fare clic su Annulla.If you do not want to remove all the listed databases, click Cancel.

Utilizzo di Transact-SQL Using Transact-SQL

Per rimuovere un database secondario da un gruppo di disponibilitàTo remove a secondary database from an availability group

  1. Connettersi all'istanza del server che ospita la replica secondaria.Connect to the server instance that hosts the secondary replica.

  2. Utilizzare la clausola SET HADR dell'istruzione ALTER DATABASE come indicato di seguito:Use the SET HADR clause of the ALTER DATABASE statement, as follows:

    ALTER DATABASE nome_database SET HADR OFFALTER DATABASE database_name SET HADR OFF

    dove nome_database è il nome di un database secondario da rimuovere dal gruppo di disponibilità a cui appartiene.where database_name is the name of a secondary database to be removed from the availability group to which it belongs.

    L'esempio seguente mostra come rimuovere il database secondario locale MyDb2 dal relativo gruppo di disponibilità.The following example removes the local secondary database MyDb2 from its availability group.

    ALTER DATABASE MyDb2 SET HADR OFF;  
    GO  
    

Utilizzo di PowerShell Using PowerShell

Per rimuovere un database secondario da un gruppo di disponibilitàTo remove a secondary database from an availability group

  1. Spostarsi nella directory (cd) dell'istanza del server che ospita la replica secondaria.Change directory (cd) to the server instance that hosts the secondary replica.

  2. Usare il cmdlet Remove-SqlAvailabilityDatabase specificando il nome del database di disponibilità da rimuovere dal gruppo di disponibilità.Use the Remove-SqlAvailabilityDatabase cmdlet, specifying the name of the availability database to be removed from the availability group. Quando si è connessi a un'istanza del server che ospita una replica secondaria, solo il database secondario locale verrà rimosso dal gruppo di disponibilità.When you are connected to a server instance that hosts a secondary replica, only the local secondary database is removed from the availability group.

    Ad esempio, il comando seguente rimuove il database secondario MyDb8 dalla replica secondaria ospitata dall'istanza del server denominata SecondaryComputer\Instance.For example, the following command removes the secondary database MyDb8 from the secondary replica hosted by the server instance named SecondaryComputer\Instance. La sincronizzazione dei dati con i database secondari rimossi viene terminata.Data synchronization to the removed secondary databases ceases. Questo comando non influisce sul database primario né su nessun altro database secondario.This command does not affect the primary database or any other secondary databases.

    Remove-SqlAvailabilityDatabase `  
    -Path SQLSERVER:\Sql\SecondaryComputer\InstanceName\AvailabilityGroups\MyAg\Databases\MyDb8  
    
    Nota

    Per visualizzare la sintassi di un cmdlet, usare il cmdlet Get-Help nell'ambiente SQL ServerSQL Server PowerShell.To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. Per altre informazioni, vedere Get Help SQL Server PowerShell.For more information, see Get Help SQL Server PowerShell.

    Per impostare e utilizzare il provider PowerShell per SQL ServerTo set up and use the SQL Server PowerShell provider

Completamento: Dopo la rimozione di un database secondario da un gruppo di disponibilità Follow Up: After Removing a Secondary Database from an Availability Group

Quando un database secondario viene rimosso, non è più unito in join al gruppo di disponibilità e tutte le informazioni relative al database secondario rimosso vengono ignorate dal gruppo di disponibilità.When a secondary database is removed, it is no longer joined to the availability group and all information about the removed secondary database is discarded by the availability group. Il database secondario rimosso viene posto nello stato RESTORING.The removed secondary database is placed in the RESTORING state.

Suggerimento

Per un breve intervallo di tempo dopo avere rimosso un database secondario, è possibile riavviare la sincronizzazione dei dati AlwaysOn sul database creando nuovamente un join al gruppo di disponibilità.For a short time after removing a secondary database, you might be able to restart Always On data synchronization on the database by re-joining it to the availability group. Per altre informazioni, vedere Creare un join di un database secondario a un gruppo di disponibilità (SQL Server).For more information, see Join a Secondary Database to an Availability Group (SQL Server).

A questo punto sono disponibili modi alternativi per gestire un database secondario rimosso:At this point there are alternative ways of dealing with a removed secondary database:

  • Se il database secondario non è più necessario, è possibile eliminarlo.If you no longer need the secondary database, you can drop it.

    Per altre informazioni, vedere DROP DATABASE (Transact-SQL) o Eliminare un database.For more information, see DROP DATABASE (Transact-SQL) or Delete a Database.

  • Se si desidera accedere a un database secondario dopo che è stato rimosso dal gruppo di disponibilità, è possibile recuperare il database.If you want to access a removed secondary database after it has been removed from the availability group, you can recover the database. Tuttavia, se si recupera un database secondario rimosso, saranno online due database indipendenti e divergenti con lo stesso nome.However, if you recover a removed secondary database, two divergent, independent databases that have the same name are online. È necessario assicurarsi che i client possano accedere solo al database primario corrente.You must make sure that clients can access only the current primary database.

    Per altre informazioni, vedere Recupero di un database senza ripristino dei dati (Transact-SQL).For more information, see Recover a Database Without Restoring Data (Transact-SQL).

Vedere ancheSee Also

Panoramica di Gruppi di disponibilità AlwaysOn (SQL Server) Overview of Always On Availability Groups (SQL Server)
Rimuovere un database primario da un gruppo di disponibilità (SQL Server)Remove a Primary Database from an Availability Group (SQL Server)