Impacto de un nombre de asociado de conmutación por error obsoleto
El administrador de la base de datos puede cambiar el asociado de conmutación por error en cualquier momento. Por lo tanto, un nombre de asociado de conmutación por error que suministre un cliente podría estar desfasado u obsoleto. Suponga, por ejemplo, que se sustituye el asociado de conmutación por error Partner_B por la instancia del servidor Partner_C. Ahora, si un cliente proporciona Partner_B como nombre de asociado de conmutación por error, el nombre estará obsoleto. En este caso, el comportamiento del proveedor de acceso a datos es el mismo que cuando el cliente no proporciona un nombre de asociado de conmutación por error.
Por ejemplo, suponga que un cliente utiliza una cadena de conexión para una serie de cuatro intentos de conexión. En la cadena de conexión, el nombre del asociado inicial es Partner_A y el del asociado de conmutación por error, Partner_B:
"Server=Partner_A; Failover Partner=Partner_B; Database=AdventureWorks"
En la siguiente tabla se muestran cuatro configuraciones de asociado y se indica en cada caso si la cadena de conexión funciona para conectar el cliente por primera vez.
[!NOTA]
Una aplicación puede realizar el seguimiento de los cambios de configuración y modificar su cadena de conexión en consecuencia. Ello requiere código adicional, pero se consigue reducir la carga administrativa.
Configuración |
Servidor principal |
Servidor reflejado |
Comportamiento al intentar conectarse especificando Partner_A y Partner_B |
---|---|---|---|
Configuración de creación de reflejo original. |
Partner_A |
Partner_B |
Se almacena Partner_A en la caché como nombre del asociado inicial. El cliente se conecta correctamente a Partner_A. El cliente descarga el nombre del servidor reflejado, Partner B, y lo almacena en caché, sin tener en cuenta el nombre del asociado de conmutación por error proporcionado por el cliente. |
Partner_A sufre un error de hardware y se produce la conmutación por error (se desconectan los clientes). |
Partner_B |
ninguno |
Partner_A sigue almacenado en caché como nombre del asociado inicial, pero el nombre del asociado de conmutación por error proporcionado por el cliente, Partner_B, permite al cliente conectarse al servidor principal actual. |
El administrador de la base de datos detiene la creación del reflejo (se desconectan los clientes), sustituye Partner_A por Partner_C y reinicia la creación del reflejo. |
Partner_B |
Partner_C |
El cliente intenta conectarse a Partner_A y surge un error. A continuación, lo intenta con Partner_B (el servidor principal actual) y se conecta correctamente. El proveedor de acceso a datos descarga el nombre del servidor reflejado actual, Partner_C, y lo almacena en caché como nombre del asociado de conmutación por error actual. |
El servicio se conmuta manualmente a Partner_C (se desconectan los clientes). |
Partner_C |
Partner_B |
El cliente intenta conectarse primero a Partner_A y luego a Partner_B. Ambos nombres provocan errores y finalmente la solicitud de conexión supera el tiempo de espera y provoca un error. |
Vea también