Tout comme vous avez créé un script pour la commande CREATE DATABASE, vous allez utiliser un script pour définir les nouvelles autorisations de comptes. Il faut exécuter en dernier ce script généré, parce qu'une base de données, les objets qui la constituent, et les comptes utilisateur, doivent exister avant que
Définir les autorisations de comptes
SQL Server ne puisse accorder des autorisations.
Le listing 3 montre un exemple
de code dans lequel la commande
GRANT octroie l’accès à une procédure
cataloguée et à une table. Les paramètres
de base de cette commande varient
selon le type d’objet. Pour des
tables ou des vues, on peut attribuer une
combinaison d’autorisations SELECT, UPDATE et DELETE, tandis que la seule
autorisation que l’on peut octroyer pour
des procédures cataloguées est EXECUTE.
La commande GRANT octroie
l’autorisation à un utilisateur (NT ou
SQL Server, par exemple), un rôle ou un
groupe, et permet l’attribution de certaines
autorisations administratives
comme BACKUP DATABASE. Toutefois,
il serait plus judicieux d’octroyer les autorisations
administratives plus tôt, dans
la phase de création de la base de données.
Dans cet exemple, je me contente
d’octroyer des autorisations à des objets
de base de données.
A propos de la commande GRANT, il
faut également noter que, par souci de
simplicité du scripting, la commande
n’octroie une autorisation qu’à un objet
à la fois. Par conséquent, chaque table,
vue, ou procédure cataloguée à laquelle
on veut octroyer l’accès, doit avoir sa
propre commande. Dans le cas d’une
grande base de données, il serait difficile
de scripter une commande GRANT pour
chaque table, vue, et procédure cataloguée.
C’est pourquoi le listing 4 utilise
une suite de boucles et un tableau de
noms d’objets pour générer les commandes
T-SQL appropriées.
Près du début du listing 4, le code
définit des variables en listes délimitées par virgules de noms de tables et de procédures
cataloguées. Au lieu de générer
des listes statiques, qui demandent des
mises à jour manuelles, le code VBScript
pourrait générer les noms d’objets pendant
l’installation en examinant dynamiquement
les fichiers T-SQL de tables et
de procédures cataloguées. Par ailleurs,
la liste de noms délimitée par virgules
peut aussi fournir de la souplesse quand
il faut attribuer des niveaux d’autorisations
multiples à des éléments dans le
même fichier T-SQL.
Voyons maintenant comment on peut manipuler des listes de noms délimitées
par virgules. La commande
VBScript Split() est une méthode standard
pour prendre une chaîne délimitée
et créer automatiquement un tableau
contenant un de chaque élément présent
dans la chaîne. Le code VBScript
utilise ensuite les tableaux générés pour
créer les scripts SQL qui octroient les autorisations
utilisateur. Comme le montre
le listing 4, le script divise une liste de
noms. Ensuite, dans une boucle For
simple, le script écrit les lignes nécessaires
pour mettre en oeuvre la commande
GRANT sur le fichier script SQL.
Le script traite chaque chaîne des noms
de tables ou de procédures cataloguées
d’une série. Parce qu’il connaît les autorisations
et le type de chaque groupe
d’objets, le script peut utiliser différents
paramètres pour différentes tables.
Quand le script du listing 4 a été exécuté,
l’installation est finie en scriptant
des instructions pour créer des objets et
des autorisations.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Et si les clients n’avaient plus le choix ?
- 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
Les plus consultés sur iTPro.fr
- Le changement, moteur d’engagement au travail
- Cloud 2026 : 5 tendances à anticiper pour les PME françaises
- Les DSI français face au défi de l’IA : ambitions élevées, marges de manœuvre limitées
- Connectivité et impression sans contrainte : repenser la gestion documentaire en 2026
Articles les + lus
Alliée ou menace ? Comment l’IA redessine le paysage cyber
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
Face à l’urgence écologique, l’IT doit faire sa révolution
À la une de la chaîne Tech
- Alliée ou menace ? Comment l’IA redessine le paysage cyber
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- Face à l’urgence écologique, l’IT doit faire sa révolution
