Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In un gruppo di disponibilità AlwaysOn è possibile configurare una o più repliche di disponibilità per consentire connessioni di sola lettura durante l'esecuzione nel ruolo secondario, ovvero quando è in esecuzione come replica secondaria. È anche possibile configurare ogni replica di disponibilità per consentire o escludere connessioni di sola lettura durante l'esecuzione nel ruolo primario, ovvero quando viene eseguita 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à indirizza 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 reindirizzare le richieste di connessione delle applicazioni con finalità di lettura a una replica secondaria leggibile. Per ulteriori informazioni, vedere Configurare l'instradamento Read-Only per il gruppo di disponibilità (SQL Server).
Durante un failover, una replica secondaria passa al ruolo primario e la replica primaria precedente passa al ruolo secondario. Durante il processo di failover, tutte le connessioni client alla replica primaria e 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 è configurato nel client e nelle istanze del server che ospita la nuova replica primaria e in almeno una replica secondaria leggibile, le richieste di connessione con finalità di lettura vengono reindirizzate a una replica secondaria che supporta il tipo di accesso alla connessione richiesto dal client. Per garantire un'esperienza client fluida dopo un failover, è importante configurare l'accesso alla connessione per i ruoli secondari e primari di ogni replica di disponibilità.
Annotazioni
Per informazioni sul listener del gruppo di disponibilità, che gestisce le richieste di connessione dei client, vedere Listener del gruppo di disponibilità, connettività dei client e failover delle applicazioni (SQL Server).
In questo argomento:
Tipi di accesso alla connessione supportati dal ruolo secondario
Tipi di accesso alla connessione supportati dal ruolo primario
Impatto della configurazione dell'accesso alla connessione sulla connettività client
Tipi di accesso alla connessione supportati dal ruolo secondario
Il ruolo secondario supporta tre alternative per le connessioni client, come indicato 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 la connessione per cui la Application Intent proprietà di connessione è impostata su ReadOnly (connessioni con finalità di lettura).
Per informazioni su questa proprietà di connessione, vedere Supporto di SQL Server Native Client per disponibilità elevata, ripristino di emergenza.
Consenti qualsiasi connessione di sola lettura
I database secondari sono tutti disponibili per le connessioni di lettura. Questa opzione consente ai client con versioni inferiori di connettersi.
Per altre informazioni, vedere Configurare l'accesso in sola lettura in una replica di disponibilità (SQL Server).
Tipi di accesso alla connessione supportati dal ruolo primario
Il ruolo primario supporta due alternative per le connessioni client, come indicato di seguito:
Tutte le connessioni sono consentite
Sia le connessioni di lettura/scrittura che di sola lettura sono consentite ai database primari. Si tratta del comportamento predefinito per il ruolo primario.
Consenti solo connessioni di lettura/scrittura
Quando la Application Intent proprietà di connessione è impostata su ReadWrite o non è impostata, la connessione è consentita. Le connessioni per le quali la parola chiave della Application Intent stringa di connessione è impostata su ReadOnly non sono consentite. Consentire solo connessioni di lettura/scrittura può impedire ai clienti di collegare un carico di lavoro destinato alla lettura alla replica primaria per errore.
Per informazioni su questa proprietà di connessione, vedere Uso delle parole chiave della stringa di connessione con SQL Server Native Client.
Per altre informazioni, vedere Configurare l'accesso in sola lettura in una replica di disponibilità (SQL Server).
Impatto della configurazione dell'accesso alla connessione sulla connettività client
Le impostazioni di accesso alla connessione di una replica determinano se un tentativo di connessione ha esito negativo o ha esito positivo. La tabella seguente riepiloga se un determinato tentativo di connessione ha esito positivo o negativo per ogni impostazione di accesso alla connessione.
| Ruolo replica | Accesso alla connessione supportato nella replica | Finalità di connessione | Connection-Attempt Risultato |
|---|---|---|---|
| Secondario | Tutti | Finalità di lettura, lettura/scrittura o nessuna finalità di connessione specificata | Successo |
| Secondario | Nessuno (si tratta del comportamento secondario predefinito). | Finalità di lettura, lettura/scrittura o nessuna finalità di connessione specificata | Fallimento |
| Secondario | Sola finalità di lettura | Finalità di lettura | Successo |
| Secondario | Sola finalità di lettura | Lettura/scrittura o nessuna finalità di connessione specificata | Fallimento |
| Primaria | Tutto (si tratta del comportamento primario predefinito). | Proprietà di sola lettura, lettura/scrittura o nessuna finalità di connessione specificata | Successo |
| Primaria | Lettura/scrittura | Sola finalità di lettura | Fallimento |
| Primaria | Lettura/scrittura | Lettura/scrittura o nessuna finalità di connessione specificata | Successo |
Per informazioni sulla configurazione di un gruppo di disponibilità per accettare connessioni client alle relative repliche, vedere Listener del gruppo di disponibilità, connettività client e failover dell'applicazione (SQL Server).
Esempio di configurazione Connection-Access
A seconda del modo in cui sono configurate repliche di disponibilità diverse per l'accesso alla connessione, il supporto per le connessioni client potrebbe cambiare dopo il failover di un gruppo di disponibilità. Si consideri, ad esempio, un gruppo di disponibilità per il quale la creazione di report viene eseguita su repliche secondarie con commit asincrono remoto. Tutte le applicazioni di sola lettura per i database di questo gruppo di disponibilità impostano la proprietà Application Intent di connessione su ReadOnly, in modo che tutte le connessioni di sola lettura siano connessioni con finalità di lettura.
Questo gruppo di disponibilità di esempio possiede due repliche con commit sincrono nel centro di calcolo principale e due repliche con commit asincrono in un sito satellite. Per il ruolo primario, tutte le repliche sono configurate per l'accesso in lettura/scrittura, che impedisce le connessioni con finalità di lettura alla replica primaria in tutte le situazioni. Il ruolo secondario commit sincrono usa la configurazione di accesso alla connessione predefinita ("none"), 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. La tabella seguente riepiloga questa configurazione di esempio:
| Replica | Modalità commit | Ruolo iniziale | Accesso alla connessione per un ruolo secondario | Accesso alla connessione per ruolo principale |
|---|---|---|---|---|
| Replica1 | Sincrono | Primaria | Nessuno | Lettura/scrittura |
| Replica2 | Sincrono | Secondario | Nessuno | Lettura/scrittura |
| Replica3 | Asincrono | Secondario | Read-intentonly | Lettura/scrittura |
| Replica4 | Asincrono | Secondario | Sola 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 possono riconnettersi a una delle repliche secondarie con commit asincrono. Tuttavia, quando si verifica un disastro nel centro di calcolo principale, entrambe le repliche con commit sincrono vengono perse. L'amministratore del database presso il sito satellite risponde effettuando un failover manuale forzato su una replica secondaria con commit asincrono. I database secondari nella replica secondaria rimanente sono sospesi a causa del failover forzato, rendendoli non disponibili per carichi di lavoro di sola lettura. La nuova replica primaria, configurata per le connessioni di lettura e scrittura, impedisce al carico di lavoro in sola lettura di competere con il carico di lavoro di lettura e scrittura. Ciò significa che finché l'amministratore del database non riprende i database secondari nella replica secondaria con commit asincrono rimanente, i client con finalità di lettura non possono connettersi a alcuna replica di disponibilità.
Attività correlate
Configurare l'accesso in modalità sola lettura su un'istanza di disponibilità (SQL Server)
Configurare il routing di sola lettura per un gruppo di disponibilità (SQL Server)
Visualizzazione delle proprietà della replica di disponibilità (SQL Server)
Usare la finestra di dialogo Nuovo gruppo di disponibilità (SQL Server Management Studio)
Contenuto correlato
Vedere anche
Panoramica dei gruppi di disponibilità AlwaysOn (SQL Server)
Listener dei gruppi di disponibilità, connettività dei client e failover delle applicazioni (SQL Server)
Statistica