Risolvere i problemi relativi alla configurazione di Gruppi di disponibilità AlwaysOn (SQL Server)
In questo argomento vengono fornite informazioni utili per risolvere i problemi tipici relativi alla configurazione delle istanze del server per i gruppi di disponibilità di Always On. I problemi di configurazione tipici includono Always On i gruppi di disponibilità sono disabilitati, gli account sono configurati in modo non corretto, l'endpoint del mirroring non esiste, l'endpoint non è accessibile (errore SQL Server 1418), l'accesso alla rete non esiste e un comando del database di join ha esito negativo (errore SQL Server 35250).
Nota
Assicurarsi di soddisfare i prerequisiti Always On gruppi di disponibilità. Per altre informazioni, vedere Prerequisiti, restrizioni e consigli per i gruppi di disponibilità AlwaysOn (SQL Server).For more information, see Prerequisites, Restrictions, and Recommendations for AlwaysOn Availability Groups (SQL Server).
Contenuto dell'argomento:
Sezione | Descrizione |
---|---|
Funzionalità Gruppi di disponibilità AlwaysOn non abilitata | Se un'istanza di SQL Server non è abilitata per Always On gruppi di disponibilità, l'istanza non supporta la creazione del gruppo di disponibilità e non può ospitare repliche di disponibilità. |
Account | Illustra i requisiti per la corretta configurazione degli account con cui viene eseguito SQL Server. |
Endpoints | 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 2014, particolarmente rilevanti per la risoluzione dei problemi relativi alla configurazione di un 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à Always On gruppi di disponibilità deve essere abilitata in ognuna delle istanze di SQL Server 2014. Per altre informazioni, vedere Abilitare e disabilitare la funzionalità Gruppi di disponibilità Always On (SQL Server).
Account
È necessario configurare correttamente gli account usati 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 altre informazioni, vedereConfigurare gli account di accesso per il mirroring del database o i gruppi di disponibilità AlwaysOn (SQL Server).
Se SQL Server è in esecuzione come account predefinito, ad esempio sistema locale, servizio locale o servizio di rete o un account non di dominio, è necessario usare i 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 altre informazioni, vedere Usare certificati per un endpoint del mirroring del database (Transact-SQL).
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, usare la vista del catalogo sys.database_mirroring_endpoints. Per altre informazioni, vedere Creare un endpoint del mirroring del database per l'autenticazione di Windows (Transact-SQL) o Consentire a un endpoint del mirroring del database di usare i 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, usare l'istruzione Transact-SQL seguente:
SELECT type_desc, port FROM sys.tcp_endpoints; GO
Per Always On problemi di configurazione dei gruppi di disponibilità difficili da spiegare, è consigliabile esaminare ogni istanza del server per determinare se è in ascolto sulle porte corrette. Per informazioni sulla verifica della disponibilità delle porte, vedere MSSQLSERVER_1418.
Verificare che gli endpoint siano stati avviati (STATE=STARTED). Usare l'istruzione Transact-SQL seguente in ogni istanza del server:
SELECT state_desc FROM sys.database_mirroring_endpoints
Per altre informazioni sulla colonna state_desc, vedere sys.database_mirroring_endpoints (Transact-SQL).
Per avviare un endpoint, usare l'istruzione Transact-SQL seguente:
ALTER ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP (LISTENER_PORT = <port_number>) FOR database_mirroring (ROLE = ALL); GO
Per altre 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, usare l'istruzione Transact-SQL seguente in 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
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 altre informazioni, vedere Specificare l'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 SQL Server indica che l'indirizzo di rete del server specificato nell'URL dell'endpoint non può essere raggiunto o non esiste e suggerisce di verificare il nome dell'indirizzo di rete e di eseguire nuovamente il comando. Per altre informazioni, vedere MSSQLSERVER_1418.
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.
Risoluzione:
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:SELECT * FROM sys.dm_tcp_listener_states; Per riavviare un listener offline: ALTER AVAILABILITY GROUP myAG RESTART LISTENER 'myAG_Listener'; |
sys.dm_tcp_listener_states (Transact-SQL) ALTER AVAILABILITY GROUP (Transact-SQL) |
![]() |
Replica primaria corrente | Verificare che READ_ONLY_ROUTING_LIST contenga solo le istanze del server che ospitano una replica secondaria leggibile. | Per identificare le repliche secondarie leggibili: sys.availability_replicas (colonna secondary_role_allow_connections_desc ) Per visualizzare un elenco di routing di sola lettura: sys.availability_read_only_routing_lists Per modificare un elenco di routing di sola lettura: ALTER AVAILABILITY GROUP |
sys.availability_replicas (Transact-SQL) sys.availability_read_only_routing_lists (Transact-SQL) ALTER AVAILABILITY GROUP (Transact-SQL) |
![]() |
Ogni replica in read_only_routing_list | Verificare che Windows Firewall non blocchi la porta READ_ONLY_ROUTING_URL. | - | Configurare Windows Firewall per l'accesso al motore di database |
![]() |
Ogni replica in read_only_routing_list | In Gestione configurazione SQL Server verificare che: La connettività remota di SQL Server è abilitata. TCP/IP è abilitato. Gli indirizzi IP sono configurati correttamente. |
- | Visualizzare o modificare le proprietà del server (SQL Server) Configurazione di un server per l'attesa su una porta TCP specifica (Gestione configurazione SQL Server) |
![]() |
Ogni replica in read_only_routing_list | Assicurarsi che il READ_ONLY_ROUTING_URL (TCP://system-address :port) contenga il nome di dominio completo (FQDN) corretto e il numero di porta. |
- | Calcolo di read_only_routing_url per AlwaysOn sys.availability_replicas (Transact-SQL) ALTER AVAILABILITY GROUP (Transact-SQL) |
![]() |
Sistema client | Verificare che il driver client supporti il routing di sola lettura. | - | Connettività client AlwaysOn (SQL Server) |
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)
Contenuto correlato
Vedere anche
Sicurezza del trasporto per il mirroring del database e gruppi di disponibilità AlwaysOn (SQL Server)Prerequisiti, restrizioni e raccomandazioni per i gruppi di disponibilità AlwaysOn (SQL Server)