Condividi tramite


Informazioni sull'accesso alla connessione client per le repliche di disponibilità (SQL Server)

In un gruppo di disponibilità AlwaysOn è possibile configurare una o più repliche di disponibilità per consentire connessioni di sola lettura quando in esecuzione nel ruolo secondario, cioè quando in esecuzione come replica secondaria. È inoltre possibile configurare ogni replica di disponibilità per consentire o escludere le connessioni di sola lettura quando l'esecuzione avviene nel ruolo primario, ossia come replica primaria.

Per facilitare l'accesso client ai database primari o secondari di un determinato gruppo di disponibilità, è necessario definire un listener del gruppo di disponibilità. Per impostazione predefinita, il listener del gruppo di disponibilità instrada le connessioni in ingresso alla replica primaria. Tuttavia, è possibile configurare un gruppo di disponibilità per supportare il routing di sola lettura che consente al listener del gruppo di disponibilità di reinstradare le richieste di connessione di applicazioni con finalità di lettura a una replica secondaria leggibile. Per ulteriori informazioni, vedere Configurare il routing di sola lettura per un gruppo di disponibilità (SQL Server).

Durante un failover, una replica secondaria assume il ruolo primario e la replica primaria precedente passa al ruolo secondario. Durante il processo di failover, tutte le connessioni client sia alla replica primaria sia alle repliche secondarie vengono terminate. Dopo il failover, quando un client si riconnette al listener del gruppo di disponibilità, il listener riconnette il client alla nuova replica primaria, ad eccezione di una richiesta di connessione con finalità di lettura. Se il routing di sola lettura viene configurato sul client e sulle istanze del server che ospitano la nuova replica primaria e su almeno un replica secondaria leggibile, le richieste di connessione con finalità di lettura vengono indirizzate nuovamente a una replica secondaria che supporta il tipo di accesso alla connessione richiesto dal client. Per garantire un'esperienza client senza problemi dopo un failover, è importante per configurare l'accesso alla connessione sia per i ruoli secondari, sia per quelli primari di ogni replica di disponibilità.

[!NOTA]

Per informazioni sul listener del gruppo di disponibilità, tramite cui vengono gestite le richieste di connessione client, vedere Listener del gruppo di disponibilità, connettività client e failover dell'applicazione (SQL Server).

Contenuto dell'argomento

  • Tipi di accesso alla connessione supportati dal ruolo secondario

  • Tipi di accesso alla connessione supportati dal ruolo primario

  • Effetti della configurazione dell'accesso alla connessione sulla connettività client

  • Attività correlate

  • Contenuto correlato

Tipi di accesso alla connessione supportati dal ruolo secondario

Il ruolo secondario supporta tre alternative per le connessioni client, indicate di seguito:

  • Nessuna connessione
    Non sono consentite connessioni utente. I database secondari non sono disponibili per l'accesso in lettura. Si tratta del comportamento predefinito nel ruolo secondario.

  • Solo connessioni con finalità di lettura
    I database secondari sono disponibili solo per le connessioni la cui proprietà di connessione Application Intent è impostata su ReadOnly (connessioni con finalità di lettura).

    Per informazioni su questa proprietà di connessione, vedere Supporto di SQL Server Native Client per il ripristino di emergenza a disponibilità elevata.

  • Consentire qualsiasi connessione di sola lettura
    I database secondari sono tutti disponibili per le connessioni con accesso in lettura. Questa opzione consente la connessione di client di versioni precedenti.

Per ulteriori informazioni, vedere Configurare l'accesso in sola lettura in una replica di disponibilità (SQL Server).

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Tipi di accesso alla connessione supportati dal ruolo primario

Il ruolo primario supporta due alternative per le connessioni client, indicate di seguito:

  • Tutte le connessioni sono consentite
    Sono consentite sia le connessioni di lettura e scrittura sia le connessioni in sola lettura ai database primari. Si tratta del comportamento predefinito per il ruolo primario.

  • Consentire solo le connessioni in lettura/scrittura
    Quando la proprietà di connessione Application Intent viene impostata su ReadWrite o non è impostata, la connessione è consentita. Le connessioni per cui la parola chiave della stringa di connessione Application Intent è impostata su ReadOnly non sono consentite. Se si consentono solo le connessioni in lettura/scrittura, è possibile impedire la connessione, per errore, di un carico di lavoro con finalità di lettura alla replica primaria da parte dei clienti.

    Per informazioni su questa proprietà di connessione, vedere Utilizzo delle parole chiave delle stringhe di connessione con SQL Server Native Client.

Per ulteriori informazioni, vedere Configurare l'accesso in sola lettura in una replica di disponibilità (SQL Server).

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Effetti della configurazione dell'accesso alla connessione sulla connettività client

Le impostazioni dell'accesso alla connessione di una replica determinano l'esito positivo o negativo di un tentativo di connessione. Nella tabella seguente viene riepilogato l'esito positivo o negativo di un tentativo di connessione per ciascuna impostazione di accesso alla connessione.

Ruolo di replica

Accesso alla connessione supportato sulla replica

Finalità di connessione

Risultato tentativo di connessione

Secondario

Tutti

Finalità di lettura, lettura e scrittura o nessuna finalità di connessione specificata

Esito positivo

Secondario

Nessuno (comportamento predefinito nel ruolo secondario).

Finalità di lettura, lettura e scrittura o nessuna finalità di connessione specificata

Esito negativo

Secondario

Solo con finalità di lettura

Con finalità di lettura

Esito positivo

Secondario

Solo con finalità di lettura

Finalità di lettura e scrittura o nessuna finalità di connessione specificata

Esito negativo

Primario

Tutto (comportamento predefinito del ruolo primario).

Sola lettura, lettura e scrittura o nessuna finalità di connessione specificata

Esito positivo

Primario

Lettura/scrittura

Solo con finalità di lettura

Esito negativo

Primario

Lettura/scrittura

Finalità di lettura e scrittura o nessuna finalità di connessione specificata

Esito positivo

Per informazioni sulla configurazione di un gruppo di disponibilità affinché accetti connessioni client alle repliche, vedere Listener del gruppo di disponibilità, connettività client e failover dell'applicazione (SQL Server).

Esempio di configurazione dell'accesso alla connessione

A seconda della modalità di configurazione delle diverse repliche di disponibilità per l'accesso alla connessione, è possibile che il supporto per le connessioni client cambi dopo il failover di un gruppo di disponibilità. Ad esempio, si consideri un gruppo di disponibilità per il quale vengono eseguiti report alla rimozione delle repliche secondarie con commit asincrono. Per tutte le applicazioni di sola lettura per i database in questo gruppo di disponibilità la proprietà di connessione Application Intent è impostata su ReadOnly, in modo che tutte le connessioni in sola lettura abbiano finalità di lettura.

Questo gruppo di disponibilità di esempio dispone di due repliche con commit sincrono al centro del calcolo principale e due repliche con commit asincrono a un sito satellite. Per il ruolo primario, tutte le repliche vengono configurate per l'accesso di lettura/scrittura che impedisce le connessioni con finalità di lettura alla replica primaria in tutte le situazioni. Nel ruolo secondario con commit sincrono viene utilizzata la configurazione dell'accesso alla connessione predefinita ("nessuno") che impedisce tutte le connessioni client nel ruolo secondario. Al contrario, le repliche con commit asincrono sono configurate per consentire le connessioni con finalità di lettura nel ruolo secondario. Nella tabella seguente viene riepilogata questa configurazione di esempio:

Replica

Modalità di commit

Ruolo iniziale

Accesso alla connessione per il ruolo secondario

Accesso alla connessione per il ruolo primario

Replica1

Sincrona

Primario

Nessuno

Lettura/scrittura

Replica2

Sincrona

Secondario

Nessuno

Lettura/scrittura

Replica3

Asincrona

Secondario

Solo con finalità di lettura

Lettura/scrittura

Replica4

Asincrona

Secondario

Solo con finalità di lettura

Lettura/scrittura

In genere, in questo scenario di esempio, i failover si verificano solo tra le repliche con commit sincrono e immediatamente dopo il failover, le applicazioni con finalità di lettura sono in grado di riconnettersi a una delle repliche secondarie con commit asincrono. Tuttavia, in caso di emergenza nel centro di elaborazione principale vengono perse entrambe le repliche con commit sincrono. L'amministratore del database del sito satellite esegue un failover manuale forzato a una replica secondaria con commit asincrono. I database secondari nella replica secondaria rimanente vengono sospesi dal failover forzato e diventano pertanto non disponibili per i carichi di lavoro di sola lettura. La nuova replica primaria, configurata per le connessioni in lettura/scrittura, evita che il carico di lavoro con finalità di lettura entri in competizione con il carico di lavoro di lettura/scrittura. Ciò significa che finché l'amministratore del database non riprende i database secondari nella replica del secondaria rimanente con commit asincrono, i client con finalità di lettura non saranno in grado di connettersi ad alcuna replica di disponibilità.

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Attività correlate

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Contenuto correlato

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Vedere anche

Concetti

Panoramica di Gruppi di disponibilità AlwaysOn (SQL Server)

Listener del gruppo di disponibilità, connettività client e failover dell'applicazione (SQL Server)

Statistiche