Preparare l'uso di un gruppo di disponibilità SQL Server Always On con Configuration Manager

Si applica a: Configuration Manager (Current Branch)

Usare questo articolo per preparare Configuration Manager per l'uso di un gruppo di disponibilità SQL Server Always On per il database del sito. Questa funzionalità offre una soluzione di disponibilità elevata e ripristino di emergenza.

Configuration Manager supporta l'uso di gruppi di disponibilità:

  • Nei siti primari e nel sito di amministrazione centrale.
  • In locale o in Microsoft Azure.

Quando si usano gruppi di disponibilità in Microsoft Azure, è possibile aumentare ulteriormente la disponibilità del database del sito usando i set di disponibilità di Azure. Per altre informazioni sui set di disponibilità di Azure, vedere Gestire la disponibilità delle macchine virtuali.

Importante

Prima di continuare, è necessario avere familiarità con la configurazione di SQL Server e gruppi di disponibilità. Questo articolo fa riferimento alla libreria di documentazione SQL Server con altre informazioni e procedure.

Scenari supportati

Gli scenari seguenti sono supportati per l'uso di gruppi di disponibilità con Configuration Manager. Per altre informazioni e procedure per ogni scenario, vedere Configurare i gruppi di disponibilità per Configuration Manager.

Prerequisiti

I prerequisiti seguenti si applicano a tutti gli scenari. Se si applicano prerequisiti aggiuntivi a uno scenario specifico, vengono descritti in dettaglio con tale scenario.

Configuration Manager account e autorizzazioni

Account di installazione

L'account usato per eseguire Configuration Manager programma di installazione deve essere:

  • Membro del gruppo Administrators locale in ogni computer membro del gruppo di disponibilità.
  • Sysadmin in ogni istanza di SQL Server che ospita il database del sito.

Accesso da server del sito a membro di replica

L'account computer del server del sito deve essere un membro del gruppo Administrators locale in ogni computer membro del gruppo di disponibilità.

SQL Server

Versione

Ogni replica nel gruppo di disponibilità deve eseguire una versione di SQL Server supportata dalla versione di Configuration Manager. Se supportato da SQL Server, nodi diversi di un gruppo di disponibilità possono eseguire versioni diverse di SQL Server. Per altre informazioni, vedere Versioni SQL Server supportate per Configuration Manager.

Edition

Usare un'edizione Enterprise di SQL Server.

Account

Ogni istanza di SQL Server può essere eseguita con un account utente di dominio (account del servizio) o un account non di dominio. Ogni replica in un gruppo può avere una configurazione diversa.

Database

Configurare il database in una nuova replica

Eseguire queste configurazioni solo in una replica primaria. Per configurare una replica secondaria, eseguire prima il failover del database primario nel database secondario. Questa azione rende secondaria la nuova replica primaria.

Configurare il database di ogni replica con le impostazioni seguenti:

  • Abilitare l'integrazione CLR:

    sp_configure 'show advanced options', 1;  
    GO  
    RECONFIGURE;  
    GO  
    sp_configure 'clr enabled', 1;  
    GO  
    RECONFIGURE;  
    GO
    

    Per altre informazioni, vedere Integrazione di CLR.

  • Impostare Max text repl size (Dimensioni massime repl del testo ) su 2147483647:

    EXECUTE sp_configure 'max text repl size (B)', 2147483647
    
  • Impostare il proprietario del database sull'account sa. Non è necessario abilitare questo account.

  • Attivare l'impostazione TRUSTWORTHY:

    ALTER DATABASE [CM_xxx] SET TRUSTWORTHY ON;
    

    Per altre informazioni, vedere la proprietà del database TRUSTWORTHY.

  • Abilitare Service Broker:

    ALTER DATABASE [CM_xxx] SET ENABLE_BROKER
    

    Nota

    Non è possibile abilitare l'opzione Service Broker in un database che fa già parte di un gruppo di disponibilità. È necessario abilitare tale opzione prima di aggiungerla al gruppo di disponibilità.

  • Configurare la priorità di Service Broker:

    ALTER DATABASE [CM_xxx] SET HONOR_BROKER_PRIORITY ON;
    ALTER DATABASE [CM_xxx] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE
    

Script di verifica del database

Eseguire lo script SQL seguente per verificare le configurazioni del database sia per le repliche primarie che per le repliche secondarie. Prima di poter risolvere un problema in una replica secondaria, impostare tale replica secondaria come replica primaria.

    SET NOCOUNT ON

    DECLARE @dbname NVARCHAR(128)

    SELECT @dbname = sd.name FROM sys.sysdatabases sd WHERE sd.dbid = DB_ID()

    IF (@dbname = N'master' OR @dbname = N'model' OR @dbname = N'msdb' OR @dbname = N'tempdb' OR @dbname = N'distribution' ) BEGIN
    RAISERROR(N'ERROR: Script is targeting a system database.  It should be targeting the DB you created instead.', 0, 1)
    GOTO Branch_Exit;
    END ELSE
    PRINT N'INFO: Targeted database is ' + @dbname + N'.'

    PRINT N'INFO: Running verifications....'

    IF NOT EXISTS (SELECT * FROM sys.configurations c WHERE c.name = 'clr enabled' AND c.value_in_use = 1)
    PRINT N'ERROR: CLR is not enabled!'
    ELSE
    PRINT N'PASS: CLR is enabled.'

    DECLARE @repltable TABLE (
    name nvarchar(max),
    minimum int,
    maximum int,
    config_value int,
    run_value int )

    INSERT INTO @repltable
    EXEC sp_configure 'max text repl size (B)'

    IF NOT EXISTS(SELECT * from @repltable where config_value = 2147483647 and run_value = 2147483647 )
    PRINT N'ERROR: Max text repl size is not correct!'
    ELSE
    PRINT N'PASS: Max text repl size is correct.'

    IF NOT EXISTS (SELECT db.owner_sid FROM sys.databases db WHERE db.database_id = DB_ID() AND db.owner_sid = 0x01)
    PRINT N'ERROR: Database owner is not sa account!'
    ELSE
    PRINT N'PASS: Database owner is sa account.'

    IF NOT EXISTS( SELECT * FROM sys.databases db WHERE db.database_id = DB_ID() AND db.is_trustworthy_on = 1 )
    PRINT N'ERROR: Trustworthy bit is not on!'
    ELSE
    PRINT N'PASS: Trustworthy bit is on.'

    IF NOT EXISTS( SELECT * FROM sys.databases db WHERE db.database_id = DB_ID() AND db.is_broker_enabled = 1 )
    PRINT N'ERROR: Service broker is not enabled!'
    ELSE
    PRINT N'PASS: Service broker is enabled.'

    IF NOT EXISTS( SELECT * FROM sys.databases db WHERE db.database_id = DB_ID() AND db.is_honor_broker_priority_on = 1 )
    PRINT N'ERROR: Service broker priority is not set!'
    ELSE
    PRINT N'PASS: Service broker priority is set.'

    PRINT N'Done!'

    Branch_Exit:

Configurazioni del gruppo di disponibilità

Membri della replica

Configuration Manager non convalida lo stato della replica di commit asincrona per confermare che è corrente. L'uso di una replica di commit asincrona come database del sito può mettere a rischio l'integrità del sito e dei dati. Questa replica può non essere sincronizzata in base alla progettazione. Per altre informazioni, vedere Panoramica dei gruppi di disponibilità SQL Server Always On.

Ogni membro della replica deve avere la configurazione seguente:

  • Usare l'istanza predefinita o un'istanza denominata.

    Nota

    Non avere una condivisione file nel server con lo stesso nome del nome dell'istanza di SQL Server.

  • L'impostazione Connessioni nel ruolo primario è Consenti tutte le connessioni.

  • L'impostazione Secondaria leggibile è .

  • Abilitato per il failover manuale

    Nota

    Configuration Manager supporta l'uso delle repliche sincrone del gruppo di disponibilità se impostato su Failover automatico. Impostare failover manuale quando:

    • È possibile eseguire Configuration Manager programma di installazione per specificare l'uso del database del sito nel gruppo di disponibilità.
    • È possibile installare qualsiasi aggiornamento in Configuration Manager. Non solo gli aggiornamenti che si applicano al database del sito.
  • Per tutti i membri è necessaria la stessa modalità di seeding.Configuration Manager configurazione include un controllo dei prerequisiti per verificare questa configurazione durante la creazione di un database tramite l'installazione o il ripristino.

    Nota

    Quando il programma di installazione crea il database e si configura il seeding automatico , il gruppo di disponibilità deve avere le autorizzazioni per creare il database. Questo requisito si applica sia a un nuovo database che a un nuovo ripristino. Per altre informazioni, vedere Seeding automatico per la replica secondaria.

Percorso del membro di replica

Ospitare tutte le repliche in un gruppo di disponibilità locale o ospitarle tutte in Microsoft Azure. Un gruppo che include un membro locale e un membro in Azure non è supportato.

Nota

Se si usa una macchina virtuale di Azure per il SQL Server, abilitare l'INDIRIZZO IP mobile. Per altre informazioni, vedere Configurare un servizio di bilanciamento del carico per un gruppo di disponibilità SQL Server Always On nelle macchine virtuali di Azure.

Configuration Manager configurazione deve connettersi a ogni replica. Quando si configura un gruppo di disponibilità in Azure e il gruppo si trova dietro un servizio di bilanciamento del carico interno o esterno, aprire le porte predefinite seguenti:

  • Mapper endpoint RPC: TCP 135

  • SQL Server Service Broker: TCP 4022

  • SQL su TCP: TCP 1433

Al termine dell'installazione, queste porte devono rimanere aperte per Configuration Manager e l'analizzatore dei collegamenti di replica.

È possibile usare porte personalizzate per queste configurazioni. Usare le stesse porte personalizzate dall'endpoint e in tutte le repliche nel gruppo di disponibilità.

Per SQL Server replicare i dati tra siti, creare una regola di bilanciamento del carico per ogni porta nel servizio di bilanciamento del carico di Azure. Per altre informazioni, vedere Configurare porte a disponibilità elevata per un servizio di bilanciamento del carico interno.

Listener

Il gruppo di disponibilità deve avere almeno un listener del gruppo di disponibilità. Quando si configura Configuration Manager per l'uso del database del sito nel gruppo di disponibilità, viene usato il nome virtuale di questo listener. Anche se un gruppo di disponibilità può contenere più listener, Configuration Manager può usare solo uno. Per altre informazioni, vedere Creare o configurare un listener del gruppo di disponibilità SQL Server.

Percorsi di file   

Quando si esegue Configuration Manager programma di installazione per configurare un sito per l'uso del database in un gruppo di disponibilità, ogni server di replica secondaria deve avere un percorso di file SQL Server identico al percorso del file per i file di database del sito nella replica primaria corrente. Se non esiste un percorso identico, l'installazione non riesce ad aggiungere l'istanza per il gruppo di disponibilità come nuovo percorso del database del sito.

L'account del servizio SQL Server locale deve disporre dell'autorizzazione Controllo completo per questa cartella.

I server di replica secondaria richiedono questo percorso di file solo durante l'uso del programma di installazione Configuration Manager per specificare l'istanza del database nel gruppo di disponibilità. Dopo aver completato la configurazione del database del sito nel gruppo di disponibilità, è possibile eliminare il percorso inutilizzato dai server di replica secondari.

Si consideri, ad esempio, lo scenario seguente:

  • Si crea un gruppo di disponibilità che usa tre SQL Server.

  • Il server di replica primario è una nuova installazione di SQL Server 2014. Per impostazione predefinita, archivia i file MDF e LDF del database in C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA.

  • Entrambi i server di replica secondari sono stati aggiornati a SQL Server 2014 dalle versioni precedenti. Con l'aggiornamento, questi server mantengono il percorso del file originale per archiviare i file di database: C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA.

  • Prima di spostare il database del sito in questo gruppo di disponibilità, in ogni server di replica secondario creare il percorso di file seguente: C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA. Questo percorso è un duplicato del percorso in uso nella replica primaria, anche se le repliche secondarie non useranno questo percorso di file.

  • Si concede quindi all'account del servizio SQL Server in ogni replica secondaria l'accesso con controllo completo al percorso del file appena creato in tale server.

  • È ora possibile eseguire correttamente Configuration Manager programma di installazione per configurare il sito per l'uso del database del sito nel gruppo di disponibilità.

Failover su più subnet

È possibile abilitare la parola chiave della stringa di connessione MultiSubnetFailover in SQL Server. È anche necessario aggiungere manualmente i valori seguenti al Registro di sistema di Windows nel server del sito:

HKLM:\SOFTWARE\Microsoft\SMS\Identification
HKLM:\SOFTWARE\Microsoft\SMS\SQL Server

MSF Enabled : 1 (DWORD)

Avviso

L'uso di gruppi di disponibilità elevata del server del sito e SQL Server Always On con failover su più subnet non offre le funzionalità complete del failover automatico per gli scenari di ripristino di emergenza.

Se è necessario creare un gruppo di disponibilità con un membro in una posizione remota, assegnare priorità in base alla latenza di rete più bassa. La latenza di rete elevata può causare errori di replica.

Limitazioni e problemi noti

Le limitazioni seguenti si applicano a tutti gli scenari.

Opzioni e configurazioni SQL Server non supportate

  • Gruppi di disponibilità di base: introdotti con SQL Server edizione Standard 2016, i gruppi di disponibilità di base non supportano l'accesso in lettura alle repliche secondarie. La configurazione richiede questo accesso. Per altre informazioni, vedere Gruppi di disponibilità SQL Server di base.

  • Istanza del cluster di failover: le istanze del cluster di failover non sono supportate per una replica usata con Configuration Manager. Per altre informazioni, vedere SQL Server Always On istanze del cluster di failover.

SQL Server che ospitano gruppi di disponibilità aggiuntivi

Quando il SQL Server ospita uno o più gruppi di disponibilità oltre al gruppo usato per Configuration Manager, sono necessarie impostazioni specifiche al momento dell'esecuzione Configuration Manager configurazione. Queste impostazioni sono necessarie anche per installare un aggiornamento per Configuration Manager. Ogni replica in ogni gruppo di disponibilità deve avere le configurazioni seguenti:

  • Failover manuale

  • Consenti qualsiasi connessione di sola lettura

Nota

Configuration Manager supporta l'uso delle repliche sincrone del gruppo di disponibilità se impostato su Failover automatico. Impostare failover manuale quando:

  • È possibile eseguire Configuration Manager programma di installazione per specificare l'uso del database del sito nel gruppo di disponibilità.
  • È possibile installare qualsiasi aggiornamento in Configuration Manager. Non solo gli aggiornamenti che si applicano al database del sito.

Uso del database non supportato

Configuration Manager supporta solo il database del sito in un gruppo di disponibilità

I database seguenti non sono supportati da Configuration Manager in un gruppo di disponibilità:

  • Database delle relazioni

  • Database WSUS

Database preesistente

Non è possibile usare un nuovo database creato nella replica. Quando si configura un gruppo di disponibilità, ripristinare una copia di un database Configuration Manager esistente nella replica primaria.

Errori di installazione in ConfigMgrSetup.log

Quando si esegue Configuration Manager programma di installazione per spostare un database del sito in un gruppo di disponibilità, tenta di elaborare i ruoli del database nelle repliche secondarie del gruppo di disponibilità. Il file ConfigMgrSetup.log mostra l'errore seguente:

ERROR: SQL Server error: [25000][3906][Microsoft][SQL Server Native Client 11.0][SQL Server]Failed to update database "CM_AAA" because the database is read-only. Configuration Manager Setup 1/21/2016 4:54:59 PM 7344 (0x1CB0)

Questi errori sono sicuri da ignorare.

Espansione del sito

Se si configura il database del sito per un sito primario autonomo per l'uso di un gruppo di disponibilità, non è possibile espandere il sito per includere un sito di amministrazione centrale. Se si prova questo processo, non riesce. Per espandere il sito, rimuovere temporaneamente il database del sito primario dal gruppo di disponibilità.

Non è necessario apportare modifiche alla configurazione quando si aggiunge un sito secondario.

Modifiche per il backup del sito

Backup dei file di database

Quando un database del sito usa un gruppo di disponibilità, eseguire l'attività di manutenzione del server del sito di backup predefinita per eseguire il backup di file e impostazioni di Configuration Manager comuni. Non usare i file MDF o LDF creati da tale backup. Eseguire invece backup diretti di questi file di database usando SQL Server.

È comunque possibile usare il backup SQL Server, ma non è possibile ripristinarlo direttamente in un cluster SQL Server Always On. È necessario ripristinarlo in un server autonomo e spostarlo di nuovo in SQL Server Always On.

Log delle transazioni

Impostare il modello di recupero del database del sito su Completo. Questa configurazione è un requisito per Configuration Manager l'uso in un gruppo di disponibilità. Pianificare il monitoraggio e la gestione delle dimensioni del log delle transazioni del database del sito. Nel modello di recupero completo le transazioni non vengono sottoposte a protezione avanzata fino a quando non esegue un backup completo del database o del log delle transazioni. Per altre informazioni, vedere Backup e ripristino di database SQL Server.

Modifiche per site recovery

Se almeno un nodo del gruppo di disponibilità è ancora funzionante, usare l'opzione site recovery per ignorare il ripristino del database (usare questa opzione se il database del sito non è stato interessato).

Site Recovery può ricreare il database in un gruppo di disponibilità. Questo processo funziona con il seeding sia manuale che automatico.

Consiglio

Quando si esegue l'installazione/ripristino guidato, la pagina Nuovo database del gruppo di disponibilità si applica solo alle configurazioni di seeding manuali. Con il seeding automatico, non è disponibile alcun backup del database condiviso, in modo che la pagina della procedura guidata non sia visualizzata.

Per altre informazioni, vedere Backup e ripristino.

Modifiche per la creazione di report

Installare il punto del servizio di report

Il punto di Reporting Services non supporta l'uso del nome virtuale del listener del gruppo di disponibilità. Inoltre, non supporta l'hosting del database in un gruppo di disponibilità.

  • Per impostazione predefinita, l'installazione del punto di Reporting Services imposta il nome del server di database del sito sul nome virtuale specificato come listener. Modificare questa impostazione per specificare un nome computer e un'istanza di una replica nel gruppo di disponibilità.

  • Per eseguire l'offload dei report e aumentare la disponibilità quando un nodo di replica è offline, è consigliabile installare altri punti di Reporting Services in ogni nodo di replica. Configurare quindi ogni punto di Reporting Services per usare il proprio nome computer. Quando si installa un punto del servizio di creazione report in ogni replica del gruppo di disponibilità, la creazione di report può sempre connettersi a un server del punto di report attivo.

Cambiare il punto di Reporting Services usato dalla console

  1. Nella console Configuration Manager passare all'area di lavoro Monitoraggio, espandere Report e selezionare il nodo Report.

  2. Nella barra multifunzione selezionare Opzioni report.

  3. Nella finestra di dialogo Opzioni report selezionare il punto di Reporting Services da usare.

Passaggi successivi

Questo articolo descrive i prerequisiti, le limitazioni e le modifiche alle attività comuni che Configuration Manager richiedono quando si usano i gruppi di disponibilità. Per le procedure per configurare e configurare il sito per l'uso dei gruppi di disponibilità, vedere Configurare i gruppi di disponibilità.