Compartir a través de


Volver a conectar una sesión de creación de reflejo de la base de datos

Nuevo: 14 de abril de 2006

Si una conexión establecida de una sesión de creación de reflejo de la base de datos genera un error por alguna razón; por ejemplo, debido a una conmutación por error automática, y la aplicación intenta volver a conectarse al servidor inicial, el proveedor de acceso a datos puede tratar de volver a conectarse utilizando el nombre de asociado de la conmutación por error almacenado en la caché del cliente. No obstante, volver a conectarse no es un proceso automático. La aplicación debe detectar el error. Después, la aplicación necesita cerrar la conexión con error y abrir una nueva utilizando los mismos atributos de la cadena de conexión. En este punto, el proveedor de acceso a datos redirige la conexión al asociado de conmutación por error. Si la instancia de servidor que se identifica con este nombre es actualmente el servidor principal, el intento de conexión suele tener éxito. Si no está claro si una transacción se confirmó o revirtió, la aplicación debe comprobar el estado de la transacción, de la misma forma en que lo hace cuando se vuelve a conectar con una instancia de servidor independiente.

Volver a conectarse se parece bastante a una conexión inicial donde la cadena de conexión suministra un nombre de asociado de conmutación por error. Si el primer intento no tiene éxito, los intentos de conexión se alternan repetidamente entre el nombre del asociado inicial y el nombre del asociado de conmutación por error, hasta que el cliente se conecta al servidor principal o el proveedor de acceso a datos agota el tiempo de espera.

[!NOTA] SQL Native Client comprueba que se conecta a una instancia de servidor principal, pero no si esta instancia es el asociado de la instancia de servidor especificada en el nombre de asociado inicial de la cadena de conexión.

Si las conexiones utilizan TCP/IP y los clientes usan Windows XP o una versión posterior, el algoritmo de reintento de conexión determina la cantidad de tiempo asignada a los intentos de conexión en cada ciclo. Para obtener más información, vea Algoritmo de reintento de conexión (para conexiones TCP/IP).

ms366199.note(es-es,SQL.90).gifImportante:
Si se desconecta el cliente de la base de datos, el proveedor de acceso a datos no intentará volver a conectarse. El cliente deberá emitir una nueva solicitud de conexión. Además, si se cierra una aplicación al perder la conexión, la aplicación pierde los nombres de asociado en la caché. Si se perdió la conexión porque el servidor principal dejó de estar disponible, la única forma en que la aplicación puede volver a conectarse al servidor reflejado es proporcionando el nombre de asociado de conmutación por error en su cadena de conexión.

Impacto de la redirección en una aplicación cliente

Después de una conmutación por error, el proveedor de acceso a datos redirige la conexión a la instancia de servidor principal actual. Sin embargo, la redirección resulta transparente para los clientes. Para un cliente, una conexión redirigida parece una conexión a la instancia de servidor identificada por el nombre de asociado inicial. Cuando el asociado inicial es actualmente el servidor reflejado, es posible que el cliente parezca estar conectado al servidor reflejado y actualizando la base de datos reflejada. No obstante, en realidad se ha redirigido el cliente al asociado de conmutación por error, que es la base de datos principal actual, y el cliente está actualizando la nueva base de datos principal.

Después de ser redirigido al asociado de conmutación por error, un cliente puede obtener resultados inesperados cuando utiliza una instrucción USE de Transact-SQL para usar otra base de datos. Esto puede producirse si la instancia del servidor principal (el asociado de conmutación por error) tiene un conjunto diferente de bases de datos que el servidor principal original (el asociado inicial).

Vea también

Conceptos

Algoritmo de reintento de conexión (para conexiones TCP/IP)
Protocolos de red y extremos TDS
Información general de la creación de reflejo de la base de datos
Posibles errores durante la creación de reflejo de la base de datos

Otros recursos

Conectar al Motor de base de datos de SQL Server
Using Connection String Keywords with SQL Native Client
Usar el Explorador de SQL Server

Ayuda e información

Obtener ayuda sobre SQL Server 2005