sql-server - servidores - sql server 2008 error nodo de cluster
¿Cómo conectarse al Servidor SQL duplicado después de la conmutación por error? (4)
Configuré una creación de reflejo de la base de datos y luego usé esta connectionstring
para conectarme a ella:
Data Source={0};Failover Partner={1};Initial Catalog=AdventureWorks;
Integrated Security=True;
Después de agregar algunos datos en la base de datos, apago el servidor principal, por lo que el servidor espejo se convierte en el servidor principal. Abro la conexión nuevamente, y obtengo este error:
System.Data.SqlClient.SqlException: A transport-level error has
occurred when sending the request to the server. (provider: Shared Memory
Provider, error: 0 - No process is on the other end of the pipe.)
Pensé que con Failover Partner especificado en la cadena de conexión, ADO.NET haría el trabajo por mí. ¿Entonces que deberia hacer ahora?
Esta pregunta es urgente. Muchas gracias por tu ayuda.
Afortunadamente, arreglé este problema. Todo lo que necesito hacer es llamar al método ClearPool:
SqlConnection.ClearPool(conn);
Este método borrará el grupo de conexiones. Entonces, el problema se fue. Estoy tan feliz con eso.
Gracias, a todos ustedes, por su apoyo. :RE
Después de cerrar el principal, ¿ha verificado que la conmutación por error en realidad se convirtió en el principal? Si no tenía conmutación por error automática en el servidor Sql, entonces el espejo sigue siendo un espejo.
No soy un experto en .NET pero necesita el cliente nativo de SQL (SQLNCLI) para gestionar la migración tras error. "ado.net" puede ser SQLOLEDB
Hasta Windows Server 2003 al menos no está instalado de manera predeterminada. Es independiente o parte de las herramientas del cliente SQL, así que sospecho que estás usando SQLOLEDB
Descubrimos que esto sucedería si no tuvieras un conjunto de tiempo de espera lo suficientemente grande.