La création de la base de données constitue le coeur de l'installation. Elle s'effectue en plusieurs étapes, dont la première est la création du script SQL CreateWhsDB.sql. Le listing 1 montre un exemple de script servant à créer une base de données sur le serveur courant. Ce script résulte quand
Créer la base de données
le package
Installer exécute le fichier
CreateWhsDB.vbs d’accompagnement.
L’installation définit quatre paramètres
pour la commande CREATE DATABASE:
le premier paramètre est le nouveau
nom de la base de données, et le second
indique l’emplacement du fichier .mdf.
Le script peut également indiquer l’emplacement
et le nom du fichier journal;
toutefois, la commande CREATE DATABASE
génère un fichier avec le nom par
défaut dans le même répertoire que le fichier
de données primaire de la base de
données quand on ne spécifie pas un
emplacement de fichier journal explicite.
Les troisième et quatrième paramètres
sont la taille initiale de la base de
données et le pourcentage de croissance
du fichier.
Le script exécute deux procédures
cataloguées. La première, sp_addlogin,
crée un nouveau compte utilisateur
pour le serveur de base de données et
attribue un mot de passe et une base de
données par défaut pour ce compte.
Sp_addlogin crée un compte SQL
Server ; pour que le script crée un
compte ou un groupe NT, remplacez cet
appel de procédure cataloguée par un
appel à sp_grantlogin. Sp_addlogin et
sp_grantlogin travaillent tous deux avec
la procédure cataloguée sp_grantdbaccess.
Une fois que le script a donné à
l’utilisateur l’accès à SQL Server, la procédure
cataloguée sp_grantdbaccess attribue
le nouveau compte comme un
utilisateur valide à une base de données
sur le serveur.
Le listing 1 n’est qu’un exemple car
ses valeurs sont codées en dur. Le package Installer déclenche l’action
CreateDB pour exécuter le script
CreateWhsDB.vbs que montre le listing
1. Le code du listing 2 utilise un objet du
système de fichiers pour ouvrir, puis
remplacer tout le texte exemple que
contient le listing 1. Dès que le script
du listing 2 ouvre le fichier
CreateWhsDB.sql, le script écrit simplement
les mêmes commandes dans le
même format en utilisant une suite de
valeurs de session provenant des propriétés
que l’Installer a définies. La
première propriété d’installation,
Session.Property (« INSTALLDIR ») utilise
l’information du chemin de script que
vous sélectionnez pour l’installation de
la base de données. Cette installation
place les fichiers script dans le même répertoire
que celui dans lequel l’installation
crée les fichiers base de données.
Pour changer la manière dont le script
utilise le répertoire d’installation sélectionné
comme cible pour les fichiers
base de données primaires, il vous faut
seulement modifier la commande. Le
code du listing 2 écrit la valeur FILENAME
dans le fichier script .sql.
La commande OpenTextFile permet
au script CreateWhsDB.vbs d’ouvrir le fichier
de script CreateWhsDB.sql. Cette
commande comporte quelques paramètres
qui n’apparaissent pas dans le
script. Le premier paramètre définit le
chemin et le nom du fichier. En ajoutant
l’information du premier paramètre au
répertoire d’installation, on obtiendra le
chemin complet à l’exécution. Le
deuxième paramètre indique si le fichier
doit être ouvert pour lecture, écriture
ou ajout ; la valeur 2 représente l’écriture.
La valeur du troisième paramètre,
True, ordonne à l’objet de créer le fichier s’il n’existe pas. La valeur du dernier
paramètre, -1, ordonne à la section
d’I/O du fichier d’utiliser des caractères
Unicode. Les valeurs de
Session.Property restantes représentent
les valeurs personnalisées que l’on
ajoute au package Installer. Pour ce
script, les valeurs correspondent directement
aux champs de la figure 2. Les valeurs
WHSDBNAME, WHSDBUSER et
WHSDBPWD proviennent de l’installation
de base de données présentée dans
la figure 2.
Chaque commande WriteLine place une ligne complète, avec retour chariot
et interligne, dans le fichier script
CreateWhsDB.sql. La constante vbCrLf
ajoute une ligne vierge supplémentaire
au script CreateWhsDB.sql pour une
meilleure lisibilité. Le script finit en fermant
les objets File et File System. Bien
que le code du listing 2 fournisse un
moyen de créer la base de données et
les utilisateurs, il demande une quantité
appréciable de scripting personnalisé.
La solution présentée dans cet article serait
d’une utilité limitée si chaque installation
avait besoin d’autant de script. Heureusement, vous pouvez générer les
objets de base de données (tables, procédures
cataloguées, par exemple) et les
données statiques à importer dans la
nouvelle base de données.
Téléchargez cette ressource
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Chiffrements symétrique vs asymétrique
- Activer la mise en veille prolongée dans Windows 10
Les plus consultés sur iTPro.fr
- Le trilemme de la souveraineté : le coût caché du cloud qui freine l’IA en Europe
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Semperis : gouverner l’identité à l’ère des agents IA
- Analyse Patch Tuesday Mars 2026
Articles les + lus
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
Moderniser le développement logiciel : de la fragmentation à l’intégration
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
À la une de la chaîne Tech
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
