Configuracion desatendida de SQL Server 2005

Imagen de JuanPLG

Introducción:

A continuación les voy a contar básicamente como podemos configurar MS SQL Server 2005 en forma desatendida, unnatend o bien utilizando la nueva terminología, desde command prompt.
La configuración de SQL Server 2005 se lleva a cabo a través de la herramienta gráfica ‘Surface Area Configuration’. Para realizar la desatendida trabajaremos con está herramienta, con una utilidad para ejecutar desde línea de comandos denominada ‘sac.exe’, cuya funcionalidad es importar y exportar la configuración a y desde un archivo con formato xml, también aplicaremos un script de sql(*.sql), la utilidad ‘sc.exe’ para configurar servicios y un script del OS o archivo del tipo cmd(*.cmd) para encapsular todas las configuraciones y luego ser llamado y pasados los parámetros necesarios para la ejecución desatendida, igualmente este es una leve aproximación a lo que vamos a mostrar en líneas posteriores.

Entorno:

Microsoft Windows 2003 Server Standard con SP 1.
Framework 2.0.
Microsoft SQL Server 2005 SP 2.

Instalación - Configuración:

La Configuración desatendida la realizaremos invocándola desde un archivo o script del OS que en este caso llamaremos “miconfigSQL2K5.cmd”.
En tanto los servicios y características a configurar son los siguientes:

1) SQL Server o dbms.
2) SQL Server Agent o servicio de scheduler.
3) SQL Server Integration Services o servicio dts (de a cuerdo a versiones anteriores).
4) Caracteristicas del dbms a configurar vía script (.sql):

4.1) Server authentication:

Trusted y standard.

4.2) Auditoria:

Intentos de autenticación fallidos.

4.3) Habilitaremos el usuario sa, chequeo de expiración y chequeo de policies, La base de datos por defecto, Lenguaje por defecto.

En tanto las configuraciones de características tipo ‘user connections’, ‘locks’, tamaño de base tempdb, etc, dependen de cada organización, es decir de las aplicaciones, servicios y carga de trabajo que impactan sobre el dbms propio de cada empresa u organización.

A continuación se detallará paso a paso como realizarlo.

Lo dividiremos en tres pasos:

A) Configuración y exportación de datos necesarios.

B) Importación de la configuración de todos los servicios y características.

C) Chequeo de la configuración aplicada.

A) Configuración y exportación de datos necesarios para la configuración.

Habilitaremos las características que se muestran en las siguiente figuras:

Click en "Surface Area Configuration for Services and connections".

Click en “Remote connections” para habilitar la caracteristica que se muestra a continuación.

Click en "Surface Area Configuration for features".

Click en “Enable remote DAC” para habilitar la característica.

Click en “Enable xp_cmdshell” para habilitar la característica.

Una vez realizada la configuración deseada, procederemos a exportar la misma a los archivos con formato xml para luego ser importados al servidor/es a ser configurado/s.

Para ello Crearemos el directorio “C:\SQL2K5Install\Config2k5\exportado" y ejecutaremos la utilidad sac para exportar la info de los servicios y caracteristicas especiales configuradas en los puntos anteriores. Las siguientes figuras demuestran el proceso de exportación.

Protocolos

Características especiales

Con respecto al startup de los servicios deberemos realizarlo con la utilidad ‘sc’ pues la ‘sac’ no funciona para exportar e importar estas configuraciones.

Por ultimo crearemos un script de SQL Server llamado “config.sql”, el cual será utilizado para configurar tipo de autenticación, auditoria, habilitar al usuario sa y chequeos de policies y password para esta cuenta.
A dicho script deberemos sumar las siguientes líneas de código:

use master
go
exec xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
GO
exec xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'AuditLevel', REG_DWORD, 2
GO
ALTER LOGIN sa WITH DEFAULT_DATABASE=master, DEFAULT_LANGUAGE=us_english, CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
go
ALTER LOGIN sa WITH PASSWORD=N'Pepe77lp'
go
ALTER LOGIN sa ENABLE
go

B) Importación de la configuración de todos los servicios y características.

Para ello crearemos el script denominado “miconfigSQL2K5.cmd”, al cual debemos sumarle las siguientes líneas de código:

cd "C:\Program Files\Microsoft SQL Server\90\Shared"
C:

REM /******Configura servicios y caracteristicas vía XML ***************************/

sac in C:\SQL2K5Install\Config2k5\exportado\features -S %computername% -F -O"C:\SQL2K5Install\Config2k5\importado\features.log"
sac in C:\SQL2K5Install\Config2k5\exportado\Protocolos -S %computername% -N -O"C:\SQL2K5Install\Config2k5\importado\Protocolos.log"

REM /********Configura los servicios SQLServerAgent-Integration ********************/

sc config SQLServerAgent start= auto > "C:\SQL2K5Install\Config2k5\importado\Agent.log"
sc config msdtsserver start= auto > "C:\SQL2K5Install\Config2k5\importado\integration.log"

net stop SQLServerAgent
net stop "SQL Server Integration Services"
net stop MSSQLServer

net start MSSQLServer
net start SQLServerAgent
net start "SQL Server Integration Services"

REM /********************Configura DBMS********************************************/

cd "C:\Program Files\Microsoft SQL Server\90\tools\binn"
c:
sqlcmd -E -iC:\SQL2K5Install\Config2k5\config.sql >>"C:\SQL2K5Install\Config2k5\config.log"

net stop SQLServerAgent
net stop "SQL Server Integration Services"
net stop MSSQLServer

net start MSSQLServer
net start SQLServerAgent
net start "SQL Server Integration Services"

Luego lo ejecutaremos como muestra la siguiente figura.

C) Chequeo de la configuración aplicada.

El chequeo de la configuración, lo realizaremos de dos maneras, la primera de ellas chequeando los log´s de importación y la segunda es realizarlo con la herramienta gráfica ‘Surface Area Configuration’.

A continuación se presentarán los log’s resultantes de la configuración:

Archivo: Config.log

Changed database context to 'master'.

(0 rows affected)

(0 rows affected)

Archivo: Agent.log

[SC] ChangeServiceConfig SUCCESS

Archivo: features.log

Importing surface area settings for Database Engine instance SRV2005\MSSQLSERVER...Started
Importing surface area settings for Database Engine instance SRV2005\MSSQLSERVER...Complete

Archivo: Integration.log

[SC] ChangeServiceConfig SUCCESS

Archivo: Protocolos.log

Importing surface area settings for Database Engine instance SRV2005\MSSQLSERVER...Started
Changes to Connection Settings will not take effect until you restart the Database Engine service.
Importing surface area settings for Database Engine instance SRV2005\MSSQLSERVER...Complete

También podemos realizarlo con la herramienta gráfica, como indicara en párrafos anteriores, aquí solo mostraremos dos casos de ejemplo:

De esta manera básicamente, se da por finalizado todos los pasos necesarios para poder llevar a cabo la configuración desatendida de SQL Server 2005.

Abrazo virtual a todos !

Links relacionados:

Instalación desatendida de SQL Server 2005
http://www.todosql.com/Instalacion+desatendida+de+SQL+Server+2005
Problemas con SP2 de SQL Server 2005
http://www.todosql.com/blog/200703/service-pack-2-para-sql-server-2005
Problemas con SP1 de SQL Server 2005
http://www.todosql.com/blog/200703/instalaci-n-sp1-en-sql-server-2005-co...