8

Tengo dos equipos de desarrollo, que provienen de diferentes grupos.¿Cómo alias un nombre de instancia de servidor Sql utilizado en una cadena de conexión .config?

  • Grupo A se desarrolla contra un predeterminado instancia local de SQL Server 2008 R2;
  • El grupo B se desarrolla en una instancia llamada local de Sql Server 2008 R2.

¿Hay alguna forma de configurar un alias para que ambos grupos codifiquen con el mismo nombre? Tal como está ahora, tenemos una guerra de Cadenas de conexión como cambios del grupo B (local) a ./DEV y el grupo A lo cambia de nuevo?

Respuesta

8

En el Administrador de configuración de SQL Server, en la sección de configuración del cliente nativo del servidor SQL hay una subsección llamada "alias" donde puede agregar un alias que apunta a su instancia nombrada. Simplemente usa el alias como si fuera la instancia predeterminada en un servidor con el nombre del alias. Usamos este modelo exacto y solo tenemos una cadena de conexión que apunta a un alias estándar. Cada desarrollador tiene el mismo nombre de alias que apunta a su propia instancia.

2

Personalmente, haría que todos usen la misma caja.

Dicho esto, puede establecer local aliases per developer's box utilizando las herramientas de SQL Server Client.

dirección o servidor

Cualquier cosa nombre IP basada (como archivo de hosts o DNS) fallará porque los nombres de instancia (y puertos utilizados) son diferentes

0

Aliasing a un SqlExpress local Instancia

Para ampliar la respuesta de Ben, yo tenía el requisito específico de un alias una cadena de conexión apuntando a una instancia específica del servidor, y en lugar de modificar el trazado de esto a nuestros desarrolladores instancias locales de SQL express, es decir, a partir de alias:

SomeServer\SomeInstance 

a

.\SQLExpress 

Esto resultó algo difícil hasta que encontré este link here. Mi ejemplo SQL Express se ejecuta en el puerto estándar 1433 (es decir, se adaptan a la suite)

habilitar TCP/IP para SqlExpress

Desde aliasing se realiza a través de los puertos TCP/IP, TCP/IP protocol must be enabled. (No es necesario abrir SqlExpress para acceso remoto si está trabajando localmente).

Usando Bajo Sql Server -> Configuration Tools -> Sql Server Configuration Manager:

Enabling TCP/IP

Al mismo tiempo, establecer la propiedad Listen All-Yes.

Habilitar de LocalHost IP

Asegúrese de que tanto IPv4 (127.0.0.1) e IPv6 (::1) localhost son activos y habilitado.

En cada IP, deje el puerto dinámico en cero (como su nombre indica, el puerto se asignará dinámicamente). Los puertos dinámicos y TCP IPAll se usan globalmente.

Activating local host

Tendrá que reiniciar el servicio/SqlExpress MSSQLServer para efectuar el cambio.

Creación de alias (32 y 64 bits)

Bajo las Sql Configuraciones cliente XX nativo, esto requiere simplemente añadiendo el alias "De" Server\Instance como el nombre de alias y el servidor real + instancia como el servidor (es decir, mi instancia local SqlExpress). Pude conectarme a través del puerto 1433 o del puerto dinámico en IpAll (9876), aunque no vi ninguna razón para usar este último. Los alias se deben realizar para configuraciones de cliente de 32 y 64 bits.

Adding Sql Alias

Ahora debería ser capaz de conectar con el alias SomeServer\SomeInstance a través de SSMS.

Otras Notas

  • Como estaba aliasing a una instancia local, que no tuvo que añadir un alias para el de acogida, SomeServer a un DNS o localhost. Sin embargo, es probable que esto sea necesario si está realizando alias en un servidor remoto (más algunos otros problemas de seguridad)
  • No era necesario que el servicio del navegador Sql se ejecutara.

Parece que la configuración del Cliente Sql se ocupa de la sustitución antes de cualquier paso de red o seguridad.

Cuestiones relacionadas