Déployer SQL Server 2005 par script

Il y a quelques temps mon client m’a demandé de réfléchir à un template générique d’installation pour SQL Server 2005 pour une équipe non DBA en charge du déploiement sur un certain nombre de serveurs. Dès lors, 2 solutions s’offraient à nous : Créer une documentation d’installation détaillée avec copie d’écran ou installer SQL Server 2005 par script automatique. Cette 2ème solution permettrait de réduire considérablement la documentation à fournir et minimiserait le temps d’installation pour l’équipe de déploiement.

SQL Server permet une installation en ligne de commande et en mode silence. Pour cela, il faut utiliser l’exécutable setup.exe du DVD d’installation pour l’architecture serveur adéquat (SQL Server x86 pour les architectures 32 bits, SQL Server x64 pour les architectures 64 bits ou SQL Server Itanium pour les architectures 64 bits à base de processeurs Itanium).

Pour installer SQL Server en ligne de commande il faut soit utiliser les commutateurs nécessaires soit créer un fichier de configuration qui sera utilisé par le programme d’installation. Pour un déploiement, il est plus facile de créer et de livrer un fichier de configuration (fichier ini) à utiliser en complément de l’exécutable setup.exe.

Pour une installation SQL relativement standard (installation du moteur SQL seul) voici les options qui peuvent nous intéresser :

Options générales d’installation

INSTALLSQLDIR : Cette option permet de choisir le répertoire d’installation de SQL Server.
INSTANCENAME : cette option permet de définir le nom de l’instance que l’on veut installer. Pour l’instance par défaut il faut mettre MSSQLSERVER.
ADDLOCAL : cette option permet de choisir les composants que l’on veut installer. (Moteur SQL, Reporting Services, Analys Services, Documentation, Outils clients etc…). Il existe la notion de composant parent et composant enfant. Un composant parent est par exemple le moteur SQL et son composant enfant le moteur de recherce Full Text. On peut donc personnaliser et choisir ce que l’on veut installer.

Options de sécurité

SQLACCOUNT et SQLPASSWORD : ces options définissent le compte de service pour l’instance SQL Server à installer.
AGTACCOUNT et AGTPASSWORD : ces options définissent le compte de service pour l’agent SQL à installer
SQLBROWSERACCOUNT et SQLBROWSERPASSWORD : ces options définissent le compte de service pour SQL Browser.

L’installation du moteur SQL nécessite obligatoirement ces 3 options de sécurité.

SECURITYMODE et SAPWD : ces options définissent le mode d’authentification pour le serveur SQL. Si l’option SECURITYMODE n’est pas spécifiée, le mode d’authentification Windows est défini par défaut et l’option SAPWD n’est pas nécessaire. Si l’option SECURITYMODE=SQL est spécifiée, le mode d’authentification SQL est celui par défaut. Il faut spécifier à l’aider de l’option SAPWD le mot de passe du compte « sa »

Options de démarrage des services

SQLAUTOSTART, AGTAUTOSTART et AGTAUTOSTART : ces options permettent de définir le démarrage automatique ou manuel des services concernés.

Pour plus de détails concernant les options d’installation je vous invite à regarder le fichier template.ini qui se trouve dans le répertoire Servers pour chaque type d’architecture.

Voici le fichier de configuration qui sera utilisé pour le déploiement

[Options]
INSTALLSQLDIR=D:\Microsoft SQL Server\Data

INSTANCENAME=MSSQLSERVER
ADDLOCAL=SQL_Engine
SQLACCOUNT=SRV-SQL\administrateur   
SQLPASSWORD=motdepasse
AGTACCOUNT=SRV-SQL\administrateur
AGTPASSWORD=motepasse

SQLAUTOSTART=1
AGTAUTOSTART=1
SECURITYMODE=SQL
SAPWD=motdepassesa

Il ne nous reste plus qu’à écrire la commande permettant de lancer l’installation automatique du serveur SQL en mode silence en se basant sur notre fichier de configuration.

> start /wait setup.exe /settings f:\install_sql_template.ini /qb /qn

Le commutateur /settings permet de spécifier le fichier de configuration. Les commutateurs /qn et /qb suppriment respectivement les fenêtres de paramétrage et permettent l’affichage des boîtes de dialogue pour suivre l’état d’avancement de l’installation du serveur. Il ne reste plus qu’à encapsuler cette commande dans un fichier.bat

L’installation en ligne de commande de SQL Server se révèle une solution intéressante pour le déploiement dans la mesure où les livrables d’installation restent relativement simples : un fichier bat, un fichier ini et une documentation relativement succinte.

Bonne installation !!!

David BARBARIN (Mikedavem)

Elève ingénieur CNAM Lyon

Laisser un commentaire