Risolvere i problemi relativi alla configurazione di Gruppi di disponibilità AlwaysOn (SQL Server)
In questo argomento vengono fornite informazioni per la risoluzione dei problemi tipici relativi alla configurazione delle istanze del server per Gruppi di disponibilità AlwaysOn. Tra i problemi di configurazione tipici sono inclusi la disabilitazione di Gruppi di disponibilità AlwaysOn, la configurazione errata degli account, l'endpoint del mirroring del database inesistente, l'endpoint inaccessibile (errore di SQL Server 1418), l'accesso alla rete inesistente e l'esito negativo di un comando di creazione di join del database (errore di SQL Server 35250).
[!NOTA]
Verificare che vengano soddisfatti i prerequisiti Gruppi di disponibilità AlwaysOn. Per ulteriori informazioni, vedere Prerequisiti, restrizioni e consigli per i gruppi di disponibilità AlwaysOn (SQL Server).
Contenuto dell'argomento:
Sezione |
Descrizione |
---|---|
Funzionalità Gruppi di disponibilità AlwaysOn non abilitata |
Se un'istanza di SQL Server non è abilitata per Gruppi di disponibilità AlwaysOn, l'istanza non supporta la creazione del gruppo di disponibilità e non è in grado di ospitare alcuna replica di disponibilità. |
Account |
Illustra i requisiti per la corretta configurazione degli account in cui viene eseguito SQL Server. |
Endpoint |
Illustra come diagnosticare problemi relativi all'endpoint del mirroring del database di un'istanza del server. |
Nome di sistema |
Riepiloga le alternative per la specifica del nome di sistema di un'istanza del server in un URL endpoint. |
Accesso alla rete |
Documenta il requisito in base a cui ogni istanza del server che ospita una replica di disponibilità deve essere in grado di accedere alla porta di ciascuna altra istanza del server su TCP. |
Accesso all'endpoint (errore di SQL Server 1418) |
Contiene informazioni su questo messaggio di errore di SQL Server. |
Errore nella creazione del join del database (errore di SQL Server 35250) |
Illustra le possibili cause e la risoluzione di un errore nella creazione di join dei database secondari a un gruppo di disponibilità perché la connessione alla replica primaria non è attiva. |
Il routing di sola lettura non funziona correttamente |
|
Attività correlate |
Contiene un elenco di argomenti orientati alle attività nella documentazione online di SQL Server 2012 particolarmente rilevanti per risolvere i problemi relativi a una configurazione del gruppo di disponibilità. |
Contenuto correlato |
Contiene un elenco di risorse rilevanti esterne alla documentazione online di SQL Server. |
Funzionalità Gruppi di disponibilità AlwaysOn non abilitata
La funzionalità Gruppi di disponibilità AlwaysOn deve essere abilitata su ognuna delle istanze di SQL Server 2012. Per ulteriori informazioni, vedere Abilitare e disabilitare la funzionalità Gruppi di disponibilità AlwaysOn (SQL Server).
Account
È necessario configurare correttamente gli account utilizzati per l'esecuzione di SQL Server.
Autorizzazioni corrette per gli account
Se i partner vengono eseguiti con lo stesso account utente di dominio, gli account di accesso corretti saranno disponibili automaticamente in ambedue i database master. Questa scelta semplifica la configurazione della sicurezza del database ed è quella consigliata.
Se due istanze del server vengono eseguite con account diversi, è necessario creare l'accesso per ogni account nel database master nell'istanza del server remoto e a tale account di accesso è necessario concedere le autorizzazioni CONNECT per la connessione all'endpoint del mirroring del database di tale istanza del server. Per ulteriori informazioni, vedere Configurare gli account di accesso per il mirroring del database o i gruppi di disponibilità AlwaysOn (SQL Server).
Se SQL Server viene eseguito come account predefinito, ad esempio Sistema locale, Servizio locale o Servizio di rete, oppure come account non di dominio, è necessario utilizzare certificati per l'autenticazione dell'endpoint. Se gli account del servizio utilizzano account di dominio nello stesso dominio, è possibile scegliere di concedere l'accesso CONNECT per ogni account del servizio su tutti i percorsi di replica oppure utilizzare certificati. Per ulteriori informazioni, vedere Utilizzare certificati per un endpoint del mirroring del database (Transact-SQL).
[Inizio pagina]
Endpoint
È necessario configurare correttamente gli endpoint.
Verificare che ogni istanza di SQL Server che ospiterà una replica di disponibilità (ogni percorso di replica) disponga di un endpoint del mirroring del database. Per determinare se in una determinata istanza del server è presente un endpoint del mirroring del database, utilizzare la vista del catalogo sys.database_mirroring_endpoints. Per ulteriori informazioni, vedere Creare un endpoint del mirroring del database per l'autenticazione Windows (Transact-SQL) o Impostazione dell'endpoint del mirroring del database per l'utilizzo di certificati per le connessioni in uscita (Transact-SQL).
Verificare che i numeri di porta siano corretti.
Per individuare la porta attualmente associata all'endpoint di mirroring del database per un'istanza del server, utilizzare l'istruzione Transact-SQL seguente:
SELECT type_desc, port FROM sys.tcp_endpoints; GO
Per i problemi di impostazione di Gruppi di disponibilità AlwaysOn che sono difficili da diagnosticare, è consigliabile controllare ogni istanza del server per verificare che sia in attesa sulle porte corrette. Per informazioni sulla verifica della disponibilità delle porte, vedere MSSQLSERVER_1418.
Verificare che gli endpoint siano stati avviati (STATE=STARTED). Utilizzare l'istruzione Transact-SQL seguente su ogni istanza del server:
SELECT state_desc FROM sys.database_mirroring_endpoints
Per ulteriori informazioni sulla colonna state_desc, vedere sys.database_mirroring_endpoints (Transact-SQL).
Per avviare un endpoint, utilizzare l'istruzione Transact-SQL seguente:
ALTER ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP (LISTENER_PORT = <port_number>) FOR database_mirroring (ROLE = ALL); GO
Per ulteriori informazioni, vedere ALTER ENDPOINT (Transact-SQL).
Verificare che l'account di accesso dell'altro server disponga dell'autorizzazione CONNECT. Per individuare gli account che dispongono dell'autorizzazione CONNECT per un endpoint, utilizzare l'istruzione Transact-SQL seguente su ogni istanza del server:
SELECT 'Metadata Check'; SELECT EP.name, SP.STATE, CONVERT(nvarchar(38), suser_name(SP.grantor_principal_id)) AS GRANTOR, SP.TYPE AS PERMISSION, CONVERT(nvarchar(46),suser_name(SP.grantee_principal_id)) AS GRANTEE FROM sys.server_permissions SP , sys.endpoints EP WHERE SP.major_id = EP.endpoint_id ORDER BY Permission,grantor, grantee; GO
[Inizio pagina]
Nome di sistema
Quale nome di sistema di un'istanza del server in un URL endpoint, è possibile utilizzare qualsiasi nome che identifichi univocamente il sistema. L'indirizzo del server può essere un nome di sistema (se i sistemi si trovano nello stesso dominio), un nome di dominio completo o un indirizzo IP (preferibilmente un indirizzo IP statico). L'utilizzo del nome di dominio completo è una soluzione efficace. Per ulteriori informazioni, vedere Specifica dell'URL dell'endpoint quando si aggiunge o si modifica una replica di disponibilità (SQL Server).
Accesso alla rete
Ogni istanza del server che ospita una replica di disponibilità deve essere in grado di accedere alla porta di ciascuna altra istanza del server su TCP. Questo requisito è particolarmente importante quando le istanze del server appartengono a domini diversi non trusted.
Accesso all'endpoint (errore di SQL Server 1418)
Questo messaggio di SQL Server indica che l'indirizzo di rete del server specificato nell'URL endpoint non è raggiungibile o non esiste, pertanto si consiglia di controllare il nome dell'indirizzo di rete e quindi eseguire nuovamente il comando. Per ulteriori informazioni, vedere MSSQLSERVER_1418.
[Inizio pagina]
Errore nella creazione del join del database (errore di SQL Server 35250)
In questa sezione vengono illustrate le possibili cause e la risoluzione di un errore nella creazione di join dei database secondari al gruppo di disponibilità perché la connessione alla replica primaria non è attiva.
Soluzione:
Controllare l'impostazione del firewall per verificare se è consentita la comunicazione della porta dell'endpoint tra le istanze del server che ospitano la replica primaria e la replica secondaria (porta 5022 per impostazione predefinita).
Controllare se l'account del servizio di rete dispone di autorizzazione CONNECT all'endpoint.
Il routing di sola lettura non funziona correttamente
Verificare le seguenti impostazioni relative ai valori di configurazione e correggerle se necessario.
|
In... |
Azione |
Commenti |
Collegamento |
---|---|---|---|---|
Replica primaria corrente |
Assicurarsi che il listener del gruppo di disponibilità sia online. |
Per verificare se il listener è online:
Per riavviare un listener offline:
|
||
Replica primaria corrente |
Verificare che READ_ONLY_ROUTING_LIST contenga solo le istanze del server che ospitano una replica secondaria leggibile. |
|
sys.availability_replicas (Transact-SQL) |
|
Ogni replica in read_only_routing_list |
Verificare che Windows Firewall non blocchi la porta READ_ONLY_ROUTING_URL. |
— |
Configurazione di Windows Firewall per l'accesso al Motore di database |
|
Ogni replica in read_only_routing_list |
In Gestione configurazione SQL Server verificare quanto segue:
|
— |
||
Ogni replica in read_only_routing_list |
Verificare che READ_ONLY_ROUTING_URL (TCP://system-address:port) contenga il nome di dominio completo (FQDN) e il numero di porta corretti. |
— |
Calcolo di read_only_routing_url per AlwaysOn |
|
Sistema client |
Verificare che il driver client supporti il routing di sola lettura. |
— |
Inizio pagina
Attività correlate
Creazione e configurazione di gruppi di disponibilità (SQL Server)
Creare un endpoint del mirroring del database per l'autenticazione Windows (Transact-SQL)
Preparare manualmente un database secondario per un gruppo di disponibilità (SQL Server)
Gestione di account di accesso e processi per i database di un gruppo di disponibilità (SQL Server)
[Inizio pagina]
Contenuto correlato
[Torna all'inizio]
Vedere anche
Concetti
Sicurezza trasporto per il mirroring del database e i gruppi di disponibilità AlwaysOn (SQL Server)
Prerequisiti, restrizioni e consigli per i gruppi di disponibilità AlwaysOn (SQL Server)