Estoy intentando conectarme a una instancia de SQL con nombre en el servidor. Ya existe una instancia predeterminada de SQL Server 2005 y una recién nombrada: SQL Server 2008. Estoy usando la propiedad "Biblioteca de red" para usar la conexión TCP, pero por alguna razón, intenta conectar la instancia predeterminada y omitir un error sobre error de inicio de sesión.
Si elimino la propiedad de la biblioteca de red, la conexión también se establece sin ningún error.
Estoy usando la autenticación de Windows y tengo todos los permisos necesarios.
La cadena de conexión problemática:
Fuente de datos = Nombre del servidor \ Nombre de la instancia, 1433; biblioteca de red = dbmssocn; Catálogo inicial = Nombre de mi base de datos; Seguridad integrada = SSPI
La cadena de conexión de trabajo:
Fuente de datos=Nombre del servidor\Nombre de la instancia;Catálogo inicial=Nombre de mi base de datos;Seguridad integrada=SSPI
Me gustaría entender por qué, por favor. Gracias de antemano,
tamir
Respuesta1
Las cadenas de conexión tienen 2 diferencias, así que intentaré responder a esto...
- Las instancias con nombre no escuchan en el puerto 1433 (solo la instancia predeterminada por defecto)
- El nombre de la instancia se ignora cuando se especifica el puerto.
Entonces:
ServerName\InstanceName,1433
significa conectarse al servidor "ServerName" en el puerto 1433ServerName\InstanceName
significa conectarse al servidor "ServerName" y resolver el nombre de la instancia en el puerto correcto (la resolución utiliza el puerto 1434 UDP)
Sin embargo, network library=dbmssocn
significa usar tcp. Podría ser que la instancia de SQL Server (ver aspectos del puerto) no escucha en TCP