Wednesday, October 8, 2008

Instalando instancias de SQL 2005 en diferentes ips.

Hace unos días, tenía que instalar una segunda instancia de SQL 2005 en un servidor backup, lo interesante era, que esta instancia tenía que tener otra ip diferente, debido a que este servidor backup era el respaldo de 2 servidores, uno con la instancia default y otro con instancia.

Esto con SQL 2000 no fuera posible, pero ya en SQL 2005 es posible, quedando la instancia default con una ip y la otra instancia con otra ip, estos son los pasos que realizé:

1. Instalar la instancia usando el setup de SQL 2005.
2. Agregar la segunda ip del servidor.
3. Abrir la consola del SQL Server Configuration Manager, en la sección SQL Server 2005 Network Configuration, abrir los protocols para la instancia default.

En el tab Protocol, la sección Listen All: No
En el tab IP Addresses, seleccionar la ip al que quedará bindeada la instancia default, y deberá quedar así:
Active: Yes
Enabled: Yes
IP Address: (la ip a bindear)
TCP Dynamic Ports (en blanco)
TCP Port: 1433

Al final en IPALL:
TCP Dynamic Ports (en blanco)
TCP Port: 1433

Ahora configurar la ip para la otra instancia:
En la sección TCP/IP de Protocols, configurar lo siguiente:
En el tab Protocol, la sección Listen All: No
En el tab IP Addresses, seleccionar la ip al que quedará bindeada la otra instancia y deberá quedar así:
Active: Yes
Enabled: Yes
IP Address: (la ip a bindear)
TCP Dynamic Ports (en blanco)
TCP Port: 1433

Al final en IPALL:
TCP Dynamic Ports (en blanco)
TCP Port: 1433

Después de hacer esto hay que reiniciar los servicios de SQL de la instancia default y de la otra instancia.

Como esta segunda ip no se está registrando en los DNS, puede ser necesario crear un registro host en los DNS asignandole un nombre y crear un c-name apuntando al host.

Es importante que el servicio SQL Server Browser esté encendido para que se pueda direccionar correctamente al usuario a la instancia que le corresponde.

Para saber que esto está configurado correctamente se puede correr el siguiente comando desde un Command Prompt:

netstat -an | find "LISTEN" | find "143"

Que deberá dar como resultado, algo parecido a esto:
TCP 192.168.0.1:1433 0.0.0.0:0 LISTENING
TCP 192.168.0.2:1433 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING

Lo cual indica que cada ip tiene asignada una instancia.

No comments: