Creare un gruppo di disponibilità (SQL Server PowerShell)
In questo argomento si illustra come utilizzare i cmdlet di PowerShell per creare e configurare un gruppo di disponibilità AlwaysOn utilizzando PowerShell in SQL Server 2012. Un gruppo di disponibilità consente di definire un set di database utente di cui verrà eseguito il failover come unità singola e un set di partner di failover, noti come repliche di disponibilità, che supportano il failover.
[!NOTA]
Per un'introduzione ai gruppi di disponibilità, vedere Panoramica di Gruppi di disponibilità AlwaysOn (SQL Server).
Prima di iniziare:
Prerequisiti, restrizioni e raccomandazioni
Sicurezza
Riepilogo delle attività e cmdlet di PowerShell corrispondenti
Per impostare e utilizzare il provider PowerShell per SQL Server
Per creare e configurare un gruppo di disponibilità tramite: Uso di PowerShell per creare e configurare un gruppo di disponibilità
**Esempi: ** Utilizzo di PowerShell per creare un gruppo di disponibilità
Attività correlate
Contenuto correlato
[!NOTA]
In alternativa all'utilizzo dei cmdlet di PowerShell, è possibile utilizzare la procedura guidata Crea gruppo di disponibilità o Transact-SQL. Per ulteriori informazioni, vedere Utilizzare la finestra di dialogo Nuovo gruppo di disponibilità (SQL Server Management Studio) o Creare un gruppo di disponibilità (Transact-SQL).
Prima di iniziare
Prima di iniziare a creare il primo gruppo di disponibilità, è consigliabile leggere questa sezione.
Prerequisiti, restrizioni e raccomandazioni
- Prima di creare un gruppo di disponibilità, verificare che le istanze host di SQL Server si trovino ognuna in un nodo WSCF (Windows Server Failover Clustering) diverso di un singolo cluster di failover WSFC. Inoltre, verificare che le istanze del server abbiano soddisfatto gli altri prerequisiti dell'istanza del server, che tutti gli altri requisiti di Gruppi di disponibilità AlwaysOn vengano soddisfatti e che si tengano presenti i consigli. Per ulteriori informazioni, si consiglia di leggere Prerequisiti, restrizioni e consigli per i gruppi di disponibilità AlwaysOn (SQL Server).
[Top]
Sicurezza
Autorizzazioni
Sono necessarie l'appartenenza al ruolo predefinito del server sysadmin e l'autorizzazione server CREATE AVAILABILITY GROUP oppure l'autorizzazione ALTER ANY AVAILABILITY GROUP o CONTROL SERVER.
[Top]
Riepilogo delle attività e cmdlet di PowerShell corrispondenti
Nella tabella seguente sono elencate le attività di base necessarie per la configurazione di un gruppo di disponibilità e vengono indicate le attività supportate dai cmdlet di PowerShell. È necessario eseguire le attività Gruppi di disponibilità AlwaysOn nell'ordine con cui sono elencate nella tabella.
Attività |
Cmdlet di PowerShell (se disponibile) o istruzione Transact-SQL |
Posizione in cui eseguire l'attività* |
---|---|---|
Creare un endpoint del mirroring del database (una volta per ogni istanza di SQL Server) |
New-SqlHadrEndPoint |
Eseguire in ogni istanza del server in cui non è presente l'endpoint del mirroring del database.
|
Creare un gruppo di disponibilità |
Utilizzare innanzitutto il cmdlet New-SqlAvailabilityReplica con il parametro -AsTemplate per creare un oggetto della replica di disponibilità in memoria per ognuna delle due repliche di disponibilità che si desidera includere nel gruppo di disponibilità. Creare quindi il gruppo di disponibilità tramite il cmdlet New-SqlAvailabilityGroup e facendo riferimento agli oggetti replica di disponibilità. |
Eseguire nell'istanza del server che dovrà ospitare la replica primaria iniziale. |
Creare un join della replica secondaria al gruppo di disponibilità |
Join-SqlAvailabilityGroup |
Eseguire in ogni istanza del server in cui viene ospitata una replica secondaria. |
Preparare il database secondario |
Backup-SqlDatabase e Restore-SqlDatabase |
Creare i backup nell'istanza del server in cui viene ospitata la replica primaria. Ripristinare i backup in ogni istanza del server in cui viene ospitata una replica secondaria, utilizzando il parametro di ripristino NoRecovery. Se i percorsi di file differiscono tra i computer in cui sono ospitate la replica primaria e la replica secondaria di destinazione, utilizzare anche il parametro di ripristino RelocateFile. |
Avviare la sincronizzazione dei dati creando un join di ogni database secondario al gruppo di disponibilità |
Add-SqlAvailabilityDatabase |
Eseguire in ogni istanza del server in cui viene ospitata una replica secondaria. |
* Per eseguire un'attività specifica, impostare la directory (cd) sull'istanza o sulle istanze del server indicate.
[Top]
Per impostare e utilizzare il provider PowerShell per SQL Server
[Top]
Utilizzo di PowerShell per creare e configurare un gruppo di disponibilità
[!NOTA]
Per visualizzare la sintassi e un esempio di un cmdlet specifico, utilizzare il cmdlet Get-Help nell'ambiente PowerShell SQL Server. Per ulteriori informazioni, vedere Visualizzazione della Guida di SQL Server PowerShell.
Spostarsi nella directory (cd) dell'istanza del server che deve ospitare la replica primaria.
Creare un oggetto replica di disponibilità in memoria per la replica primaria.
Creare un oggetto replica di disponibilità in memoria per ognuna delle repliche secondarie.
Creare il gruppo di disponibilità.
[!NOTA]
La lunghezza massima consentita per il nome del gruppo di disponibilità è 128 caratteri.
Creare un join della nuova replica secondaria al gruppo di disponibilità. Per ulteriori informazioni, vedere Creare un join di una replica secondaria a un gruppo di disponibilità (SQL Server).
Per ogni database nel gruppo di disponibilità, creare un database secondario ripristinando i backup recenti del database primario, utilizzando RESTORE WITH NORECOVERY.
Creare un join di ogni nuovo database secondario al gruppo di disponibilità. Per ulteriori informazioni, vedere Creare un join di una replica secondaria a un gruppo di disponibilità (SQL Server).
Facoltativamente, utilizzare il comando dir di Windows per verificare il contenuto del nuovo gruppo di disponibilità.
[!NOTA]
Se gli account del servizio SQL Server delle istanze del server vengono eseguiti con account utente di dominio diversi, in ogni istanza del server creare un account di accesso per l'altra istanza del server e concedere a questo account l'autorizzazione CONNECT per l'accesso all'endpoint del mirroring del database locale.
[Top]
Esempio: Uso di PowerShell per creare un gruppo di disponibilità
Nell'esempio di PowerShell seguente si crea e si configura un gruppo di disponibilità semplice denominato MyAG con due repliche di disponibilità e un database di disponibilità. Esempio:
Viene eseguito il backup di MyDatabase e del relativo log delle transazioni.
Vengono ripristinati MyDatabase e il relativo log delle transazioni, utilizzando l'opzione -NoRecovery.
Viene creata una rappresentazione in memoria della replica primaria, che sarà ospitata dall'istanza locale di SQL Server (denominata PrimaryComputer\Instance).
Viene creata una rappresentazione in memoria della replica secondaria, che sarà ospitata da un'istanza di SQL Server (denominata SecondaryComputer\Instance).
Viene creato un nuovo gruppo di disponibilità denominato MyAG.
Viene creato un join della replica secondaria al gruppo di disponibilità.
Viene creato un join del database secondario al gruppo di disponibilità.
# Backup my database and its log on the primary
Backup-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.bak" `
-ServerInstance "PrimaryComputer\Instance"
Backup-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.log" `
-ServerInstance "PrimaryComputer\Instance" `
-BackupAction Log
# Restore the database and log on the secondary (using NO RECOVERY)
Restore-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.bak" `
-ServerInstance "SecondaryComputer\Instance" `
-NoRecovery
Restore-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.log" `
-ServerInstance "SecondaryComputer\Instance" `
-RestoreAction Log `
-NoRecovery
# Create an in-memory representation of the primary replica.
$primaryReplica = New-SqlAvailabilityReplica `
-Name "PrimaryComputer\Instance" `
-EndpointURL "TCP://PrimaryComputer.domain.com:5022" `
-AvailabilityMode "SynchronousCommit" `
-FailoverMode "Automatic" `
-Version 11 `
-AsTemplate
# Create an in-memory representation of the secondary replica.
$secondaryReplica = New-SqlAvailabilityReplica `
-Name "SecondaryComputer\Instance" `
-EndpointURL "TCP://SecondaryComputer.domain.com:5022" `
-AvailabilityMode "SynchronousCommit" `
-FailoverMode "Automatic" `
-Version 11 `
-AsTemplate
# Create the availability group
New-SqlAvailabilityGroup `
-Name "MyAG" `
-Path "SQLSERVER:\SQL\PrimaryComputer\Instance" `
-AvailabilityReplica @($primaryReplica,$secondaryReplica) `
-Database "MyDatabase"
# Join the secondary replica to the availability group.
Join-SqlAvailabilityGroup -Path "SQLSERVER:\SQL\SecondaryComputer\Instance" -Name "MyAG"
# Join the secondary database to the availability group.
Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\SecondaryComputer\Instance\AvailabilityGroups\MyAG" -Database "MyDatabase"
Attività correlate
Per configurare un'istanza del server per i gruppi di disponibilità AlwaysOn
Per configurare le proprietà della replica e del gruppo di disponibilità
Modificare la modalità di disponibilità di una replica di disponibilità (SQL Server)
Modificare la modalità di failover di una replica di disponibilità (SQL Server)
Creare o configurare un listener del gruppo di disponibilità (SQL Server)
Configurare il backup su repliche di disponibilità (SQL Server)
Configurare l'accesso in sola lettura in una replica di disponibilità (SQL Server)
Configurare il routing di sola lettura per un gruppo di disponibilità (SQL Server)
Modificare il periodo di timeout della sessione per una replica di disponibilità (SQL Server)
Per completare la configurazione del gruppo di disponibilità
Creare un join di una replica secondaria a un gruppo di disponibilità (SQL Server)
Preparare manualmente un database secondario per un gruppo di disponibilità (SQL Server)
Creare un join di un database secondario a un gruppo di disponibilità (SQL Server)
Creare o configurare un listener del gruppo di disponibilità (SQL Server)
Modalità alternative di creazione di un gruppo di disponibilità
Utilizzare la Creazione guidata Gruppo di disponibilità (SQL Server Management Studio)
Utilizzare la finestra di dialogo Nuovo gruppo di disponibilità (SQL Server Management Studio)
Per risolvere i problemi relativi alla configurazione di Gruppi di disponibilità AlwaysOn
[Top]
Contenuto correlato
Blog:
Pagina relativa alla configurazione di AlwaysOn con SQL Server PowerShell
Pagina relativa ai blog del Servizio Supporto Tecnico Clienti per gli ingegneri di SQL Server
Video:
White paper:
Pagina relativa ai white paper Microsoft per SQL Server 2012
Pagina relativa ai white paper del team di consulenza clienti di SQL Server
[Top]