ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Installation silencieuse de SQL Server en ligne de commande   



L'auteur

Michel Lévy
France France
Membre Simple
# 0000000004
enregistré le 12/10/2004

67 ans
LEVY Michel
34490 CORNEILHAN
Fiche personnelle


Note des membres
20/20
2 votes


Contributions > 07 - SQL

Installation silencieuse de SQL Server en ligne de commande
# 0000000836
ajouté le 23/09/2012 18:43:58 et modifié le 23/09/2012
consulté 7044 fois
Niveau débutant

Description

Installation silencieuse de SQL Express

comment installer SQL Express sans aucune intervention de l'utilisateur final

Vous voulez utiliser SQL Express comme source de données pour vos applications VFP, et vous souhaitez installer une instance dédiée à vos applications sans aucune intervention de l'utilisateur.

Apprenons à le faire ici, en 4 lignes de commande !

Votre point de départ : vous avez téléchargé l'exécutable d'installation correspondant à l'OS ciblé (32 ou 64 bits) pour la version que vous voulez installer (si vous ne connaissez pas les différentes versions de SQL Express, vous pouvez consulter mon exposé aux dernières rencontres AtoutFox à Reims).

Dans cette exemple :

  • nous allons installer un SQL 2008 R2 Express with Tools 32 bits avec une authentification mixte,
  • nous donnerons un nom spécifique à l'instance SQL,
  • nous fournirons le mot de passe administrateur,
  • nous activerons les accès aussi bien par les canaux nommés que par TCP,
  • nous autoriserons l'accès distant à ce serveur,
  • nous activerons FileStream en accès complet,
  • et nous attacherons une base de données à ce service depuis un fichier de base de données (*.mdf)

et tout ceci sans intervention de l'utilisateur... en 4 lignes de commande...

votre fichier de départ s'appelle donc SQLEXPRWT_x86_FRA.exe. Vous l'avez copié sur le poste de destination (par exemple dans C:\Users\Michel\Downloads\2008\).
Toutes les commandes qui vont être présentées ci-dessous doivent être exécutées en tant qu'administrateur, puisqu'il s'agit de l'installation d'un service. Ces commandes pourront donc être lancées depuis une application VFP, dans un ShellExecute avec l'argument "RunAs"

Commande n°1 : déployer les fichiers d'installation

Pour déployer les fichiers de Setup dans le répertoire C:\Installation\Test, exécutez la commande suivante (ceci créera les répertoires si nécessaire) :

C:\Users\Michel\Downloads\2008\SQLEXPRWT_x86_FRA.exe /Q /X: "C:\installation\test"

Vous trouverez alors un fichier Setup.exe dans le répertoire de destination (C:\Installation\Test)

Commande n°2 : exécuter l'installation

Pour installer et démarrer le service SQL avec les options définies ci-dessus, exécutez la commande suivante :

C:\installation\test/Setup.exe /qs /ACTION=Install /FEATURES=SQL /INSTANCENAME=VFPSQL /SQLSVCACCOUNT="NT AUTHORITY\Network Service" /SECURITYMODE=SQL /SAPWD="Atoutfox" /ADDCURRENTUSERASSQLADMIN=1 /NPENABLED=1 /TCPENABLED=1 /FILESTREAMLEVEL=3 /FILESTREAMSHARENAME="FileStreamRep" /FTSVCACCOUNT /SQMREPORTING=0 /IACCEPTSQLSERVERLICENSETERMS

Voici quelques explications sur les paramètres de cette ligne de commande :

  • le 1er paramètre est /qs.
    cette valeur indique une installation totalement silencieuse, sans aucune indication de progression pour l'utilisateur. Vous devez dans ce cas prévoir de scruter le contenu du disque, pour évaluer vous-même la fin de l'installation. Attention ! la ligne de commande vous redn la main immédiatement, mais l'installation peut se poursuivre pendant près de 8 à 10 minutes.
    Si vous voulez afficher les messages de progression ordinaire de l'installation, mais sans que l'utilisateur puisse interagir ou interrompre l'opération, utilisez plutôt la valeur /q
  • le nom de l'instance est indiquée par le paramètre /INSTANCENAME. il ne faut pas mettre de quotes.
  • le paramètre /SAPWD définit le mot de passe du compte administrateur (sa), il doit être entre quotes.

Commande n°3 : autoriser les accès distants

Pour activer l'option de serveur "autoriser les accès distants", exécutez la commande suivante :

sqlcmd -S virtualseven\vfpsql -Q "EXEC sp_configure 'remote access', 1 ; RECONFIGURE;" -o C:\installation\test\resultat.txt

Le résultat de cette dernière commande sera consignée dans le fichier "resultat.txt". Si vous ne voulez pas enregistrer les résultats des commandes SqlCmd, n'utilisez pas le paramètre -o
Attention, les paramètres de SQLCMD sont sensibles à la casse : -q et -Q sont 2 paramètres différents, -i et -I sont aussi différents...

L'utilitaire en ligne de commande SQLCMD est installé en même temps que le serveur SQL, il vous permet d'exécuter sur votre serveur toutes les commandes et requêtes que vous désirez, exactement comme avec Sql Server Management Studio.

Commande n°4 : attacher une base de données depuis un fichier

Sur votre machine de développement, vous avez créé la base de données destinée à votre application, et vous voulez la rendre disponible sur le serveur SQL que vous venez d'installer.


Détachez cette base de données de votre serveur de développement, et copiez les fichier mdf et log, sur la machine de destination, à l'emplacement de votre choix. Puis exécutez la commande suivante :

sqlcmd -S virtualseven\vfpsql -Q "CREATE DATABASE test2008 ON (FILENAME = 'C:\VFP\testvfp\test2008.mdf') LOG ON (FILENAME = 'C:\VFP\testvfp\test2008_log.ldf') FOR ATTACH;"

Si vous préférez, vous pouvez regrouper les 2 dernières commandes dans un fichier de script SQL (n'oubliez pas dans ce cas les terminateurs de lot GO), et exécutez ce script en une seule fois avec SQLCMD en utilisant le paramètre -i

C'est fini, vous pouvez maintenant utiliser votre base de données sur votre serveur SQL !

Commentaires
le 23/09/2012, Francis Faure a écrit :
Merci Michel pour cet article très utile !

Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2019.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3