Impatto di un nome partner di failover non aggiornato
Data aggiornamento: 14 aprile 2006
L'amministratore del database può modificare il partner di failover in qualunque momento. Pertanto, un nome partner di failover specificato dal client potrebbe essere non aggiornato. Si consideri ad esempio la sostituzione di un partner di failover denominato Partner_B da parte di un'altra istanza di server, Partner_C. Se un client specifica Partner_B come nome partner di failover, tale nome risulterà non aggiornato. Se il nome partner di failover specificato dal client non è aggiornato, il provider di accesso ai dati si comporta come se il client non avesse fornito alcun nome partner di failover.
Si consideri ad esempio la situazione in cui un client utilizza una stringa di connessione per una serie di quattro tentativi di connessione. Nella stringa di connessione il nome partner iniziale è Partner_A e il nome partner di failover è Partner B:
"Server=Partner_A; Failover Partner=Partner_B; Database=AdventureWorks"
Nella tabella seguente sono riportate quattro configurazioni partner, per ognuna delle quali viene indicato se la stringa di connessione specificata consente la connessione del client per la prima volta.
[!NOTA] Un'applicazione può tenere traccia delle modifiche alla configurazione e modificare di conseguenza la propria stringa di connessione. Questo richiede codice aggiuntivo ma riduce il carico amministrativo.
Configurazione | Server principale | Server mirror | Comportamento al tentativo di connessione specificando Partner_A e Partner_B |
---|---|---|---|
Configurazione di mirroring originale. |
Partner_A |
Partner_B |
Partner_A viene memorizzato nella cache come nome partner iniziale. La connessione a Partner_A da parte del client ha esito positivo. Il client scarica il nome del server mirror, Partner B, e lo memorizza nella cache, ignorando il nome partner di failover specificato dal client. |
In Partner_A si verifica un errore hardware, che provoca il failover, disconnettendo i client. |
Partner_B |
nessuno |
Partner_A è ancora memorizzato nella cache come nome partner iniziale, ma il nome partner di failover specificato dal client, Partner_B, consente al client di connettersi al server principale corrente. |
L'amministratore del database interrompe il mirroring, disconnettendo i client, sostituisce Partner_A con Partner_C e riavvia il mirroring. |
Partner_B |
Partner_C |
Il client tenta di connettersi senza successo a Partner_A. Il client tenta quindi di connettersi a Partner_B, ovvero il server principale corrente, e la connessione ha esito positivo. Il provider di accesso ai dati scarica il nome del server mirror corrente, Partner_C, e lo memorizza nella cache come nome partner di failover corrente. |
Viene eseguito il failover manuale del servizio su Partner_C, disconnettendo i client. |
Partner_C |
Partner_B |
Il client tenta inizialmente di connettersi a Partner_A e quindi a Partner_B. Entrambi i nomi non risultano corretti e infine si verifica il timeout della richiesta di connessione. |
Vedere anche
Concetti
Protocolli di rete ed endpoint TDS
Panoramica del mirroring del database
Possibili errori durante il mirroring del database
Altre risorse
Connessione a Motore di database di SQL Server
Using Connection String Keywords with SQL Native Client
Utilizzo di SQL Server Browser
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
14 aprile 2006 |
|