2009-01-16 21 views
25

Trabajando en una base de código común, un desarrollador ejecuta SQL Server Express 2005 y los otros 2 ejecutan SQL Server 2005. Todo funciona bien, pero las cadenas de conexión son diferentes. Para mantener la configuración común y crear scripts, buscamos enmascarar "localhost \ sqlexpress" a solo "localhost" como los otros 2 desarrolladores.Señalar a localhost sqlexpress utilizando solo localhost

se puede hacer esto? O quizás haya una forma mejor para que los 3 se ejecuten en la misma cadena de conexión ... La solución buscada es que los 3 puedan ejecutarse en las mismas versiones de archivo en el depósito de código.

Puede que no sea 100% claro: Quiero básicamente esto:

Data Source=localhost;Initial Catalog=Sample;Integrated Security=True 

para conectar exactamente el mismo que esto:

Data Source=localhost\sqlexpress;Initial Catalog=Sample;Integrated Security=True 

Si es posible.

Respuesta

52

Acabo de probar cosas y lo hice funcionar.

sql expreso duerma habilitar TCP/IP por defecto y cuando está activado duerma usar el puerto por defecto 1433.

para que esto suceda es necesario abrir hacia arriba "gestor de configuración de SQL Server" y luego bajo protocolos permiten a TCP/IP. después de eso, haga doble clic en "tcp/ip", seleccione la pestaña "Direcciones IP" y desplácese hasta la parte inferior, luego ponga en blanco los "Puertos Dinámicos TCP" e ingrese 1433 en Puerto TCP.

después de todo, reiniciar el servicio del servidor sql y debería funcionar con la cadena de conexión normal.

+7

Me encanta StackOverflow. ¡Gracias! – kamens

+1

Gracias John, y gracias a tu malvado mono también. Un problema adicional que tuve fue que el servicio. "SQL Server Browser" no se estaba ejecutando. Permite conexiones externas. – Kieran

+0

Justo lo que estaba buscando, ¡muchas gracias! – Remotec

0

Puede nombrar las instancias de SQL Server a cualquier cosa que desee. Estoy bastante seguro de que también puedes hacerlo en SQL Express, así que solo nombra la instancia, en cada equipo, con el mismo nombre, luego puedes usar el nombre de localhost \ < >.

O mejor aún, no codifique el nombre de la base de datos. Cargarlo desde alguna máquina o configuración específica del usuario (registro, archivo de configuración, lo que más le convenga :)).

0

Este tema está muerto y enterrado, estoy seguro ... Pero en caso que esto también ayuda a alguien:

"un desarrollador se está ejecutando SQL Server Express 2005 y los otros 2 se ejecuta SQL Server 2005"

Cuando se instalan, es probable que la instancia se llame MSSQLSERVER. Cuando instaló, es probable que la instancia se llamara SQLEXPRESS. MSSQLSERVER funciona como localhost de fábrica, SQLEXPRESS no funciona. Puede solucionar esto en SQL Server Express al cambiar el nombre de SQLEXPRESS a MSSQLSERVER durante la instalación, para referencia futura.

La solución de John es obviamente más limpia.