Condividi tramite


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

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

14 aprile 2006

Contenuto modificato:
  • Spostamento di contenuto in questo nuovo argomento dal precedente argomento "Connessioni client a un database con mirroring".