Tuesday, October 28, 2008

Grupos anidados en SQL 2005

Recientemente, necesitaba agregar un grupo local en mi servidor SQL, para esto tenía un grupo local en mi dominio y en ese grupo local, existia otro grupo global de otro dominio, esto que pretendía hacer, era para facilitar la administración, ya que si en el grupo del otro dominio agregaban o quitaban personas, yo no tenía que hacer ningun cambio.

Bueno, despues de las pruebas que estuve haciendo, llegué a la conclusión que no se pueden tener grupos anidados en SQL 2005, si se necesita agregar un grupo en el servidor, es necesario que en ese grupo estén los miembros, no se pueden estar anidadando grupos, porque simplemente no funciona y la verdad, no creo que en el futuro, vaya a funcionar.

En fin, al final de cuentas, tuve que agregar a los usuarios al grupo de mi dominio.

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.