Ce billet décrit la procédure de création/configuration de la base de données SQL que vous pourrez confier à vos DBA, en prérequis de l'installation de votre plateforme Microsoft APP-V.
Provisionnement de la base de données App-V pour le Management Server
Décompression des binaires
Depuis les sources de APP-V, exécutez la commande suivante :
- APPV_SERVER_SETUP.EXE /layout
Décompression de l’ensemble des binaires dans le dossier courant. Création du dossier « DatabaseScripts ». Ce dossier contient l’ensemble des requêtes SQL qui vont permettre de créer la base de données pour le Management Server d’App-V. Il implémente aussi les fichiers pour créer la base de données ReportingServer.
![App v cretaesql01](/medias/images/app-v-cretaesql01.png)
Par défaut, les fichiers ne sont pas nommés comme dans la capture ci-dessous. Les noms restent identiques à la différence des valeurs chiffrées ajoutées en début de fichier pour représenter l’ordre d’exécution des différentes requêtes SQL.
![App v cretaesql02](/medias/images/app-v-cretaesql02.png)
Pour changer le nom par défaut de la base de données (« AppVManagement »), il faut modifier le premier fichier SQL « 0_Database.sql ».
![App v cretaesql03](/medias/images/app-v-cretaesql03.png)
Exécution des requêtes SQL
Requête « 0_Database.sql »
Sur « 0_Database.sql », clic droit et choisir « Modifier »
![App v cretaesql04](/medias/images/app-v-cretaesql04.png)
Dans SQL Management Studio, connectez-vous sur l’instance SQL Server et cliquez sur « Nouvelle requête ». Copiez-collez le premier contenu du premier fichier « 0_Database.sql » et cliquez sur « Exécuter ».
![App v cretaesql05](/medias/images/app-v-cretaesql05.png)
La base de données est maintenant créée.
Actualisez la fenêtre SQL Management Studio si elle n’apparaît pas automatiquement.
![App v cretaesql06](/medias/images/app-v-cretaesql06.png)
Nous allons maintenant exécutez les autres requêtes des fichiers 1 à 4.
Attention toutefois, veillez à ouvrir une fenêtre « New Query » sur la base de données qui vient d’être créée. Le mieux pour ce faire est d’effectuer un clic droit sur le nom de la base de données « AppVManagement » et cliquez sur « Nouvelle requête ».
![App v cretaesql07](/medias/images/app-v-cretaesql07.png)
Requête « 1_CreateTables.sql »
Dans SQL Management Studio, clic droit sur la base de données « AppVManagement » et cliquez sur « Nouvelle requête ». Copiez-collez le premier contenu du premier fichier « 1_CreateTables.sql » et cliquez sur « Exécuter ».
![App v cretaesql08](/medias/images/app-v-cretaesql08.png)
![App v cretaesql09](/medias/images/app-v-cretaesql09.png)
Requête « 2_CreateStoredProcs.sql »
Dans SQL Management Studio, clic droit sur la base de données « AppVManagement » et cliquez sur « Nouvelle requête ». Copiez-collez le premier contenu du premier fichier « 2_CreateStoredProcs.sql » et cliquez sur « Exécuter ».
![App v cretaesql10](/medias/images/app-v-cretaesql10.png)
Requête « 3_UpdateTables.sql »
Dans SQL Management Studio, clic droit sur la base de données « AppVManagement » et cliquez sur « Nouvelle requête ». Copiez-collez le premier contenu du premier fichier « 3_UpdateTables.sql » et cliquez sur « Exécuter ».
![App v cretaesql11](/medias/images/app-v-cretaesql11.png)
Requête « 4_InsertVersionInfo.sql »
Dans SQL Management Studio, clic droit sur la base de données « AppVManagement » et cliquez sur « Nouvelle requête ». Copiez-collez le premier contenu du premier fichier « 4_InsertVersionInfo.sql » et cliquez sur « Exécuter ».
![App v cretaesql12](/medias/images/app-v-cretaesql12.png)
L’ensemble des tables de la base de données ont été créées.
Requête « 5_Permissions.sql »
Il faut maintenant configurer les droits d’accès à la base de données. Cette opération est réalisée notamment dans le dernier fichier « 5_Permissions.sql ». Comme précédemment, il faut faire un copier-coller le contenu de « 5_Permissions.sql ».
Attention toutefois, avant d’exécuter ces requêtes, il faut modifier 2 lignes dans le fichier. Par défaut, nous avons ce qui suit :
![App v cretaesql13](/medias/images/app-v-cretaesql13.png)
Il faut modifier les lignes 31 et 38 pour renseigner :
- Le compte ou groupe AD qui sera par défaut administrateur de App-V (et pourra donc accéder à la console SilverLight)
- Le nom du serveur sur lequel il est prévu d’installer le Management & Publishing Server
Pour les administrateurs d’APP-V, création du groupe Active Directory « GG-AdminAPP-V »
![App v cretaesql14](/medias/images/app-v-cretaesql14.png)
Nom du serveur APP-V : « TSXBAPPLI3$ » (mettre un $ à la fin du nom)
![App v cretaesql15](/medias/images/app-v-cretaesql15.png)
Pour ces deux objets Active Directory, il faut renseigner, dans le fichier « 5_Permissions.sql », le compte en précisant le domaine ainsi que le SID qui lui est associé. Pour récupérer le SID d’un compte ou groupe Active Directory, il faut exécuter les commandes PowerShell suivantes :
Pour les administrateurs d’APP-V :
$objUser = New-Object System.Security.Principal.NTAccount("LABO\GG-AdminAPP-V")
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
$strSID.Value
L’ID du groupe est « S-1-5-21-1702666098-650472822-197587314-1126 »
![App v cretaesql16](/medias/images/app-v-cretaesql16.png)
Pour le nom du serveur APP-V :
$objUser = New-Object System.Security.Principal.NTAccount("LABO\TSXBAPPLI3$")
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
$strSID.Value
L’ID est « S-1-5-21-1702666098-650472822-197587314-1127 »
![App v cretaesql17](/medias/images/app-v-cretaesql17.png)
Lorsque vous récupérez les SID, vous devez supprimer tous les caractères spéciaux (trait d’union) ainsi que le « S » en début de chaîne, soit :
- « 152117026660986504728221975873141126 » pour le groupe des administrateurs APP-V
- « 152117026660986504728221975873141127 » pour le serveur APP-V
Les deux modifications à apporter au fichier :
- Ligne 31 : (compte administrateur du serveur App-V):
- EXEC dbo.spSetupLogin 0x152117026660986504728221975873141126, N'LABO\GG-AdminAPP-V', 0
- Ligne 38 : (le nom du serveur APP-V pour l’installation de Management & Publishing Server)
- EXEC dbo.spSetupLogin 0x152117026660986504728221975873141127, N'LABO\TSXBAPPLI3$', 1
Exécutez la requête. Notre base de données App-V est maintenant configurée.
![App v cretaesql18](/medias/images/app-v-cretaesql18.png)
Il nous reste à configurer les droits du compte de service sur la base de données. Toujours dans SQL Management Studio, dans le nœud correspondant à la base de données « AppVManagement », puis « Sécurité ». Effectuez un clic droit sur le « compte de service associé à votre serveur App-V » et cliquez sur « Propriétés ».
![App v cretaesql19](/medias/images/app-v-cretaesql19.png)
Dans la section « General », modifiez les privilèges comme suit :
![App v cretaesql20](/medias/images/app-v-cretaesql20.png)
En veillant bien à ce que le compte de service dispose des droits suivants :
Membres du rôle :
- Appv_db_executor
- Db_datareader
- Db_datawriter
Schéma appartenant à un rôle :
- Db_datareader
- Db_datawriter
- Db_owner
Cliquez sur « OK » pour valider les changements.
La création et la configuration de la base de données App-V sont terminées.