Bonjour,
Je suis en train de développer un SetUp d'installation pour une application utilisant SQL Serveur.
Le SetUP doit créer la base de données et les moyens de connexion.
Tous les éléments ont le même nom (l'utilisateur, la base, etc).
Je parviens bien à créer la base et l'utilisateur mais je n'arrive pas à donner à l'utilisateur les droits nécessaires sur la base.
Les scripts sont exécutés via Delphi via ADO.
Voici celui de création de base :
;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 IF EXISTS (SELECT * FROM sys.databases WHERE name = 'XXXX') BEGIN DROP DATABASE XXXX; END; CREATE DATABASE XXXX
Celui de création du login
Enfin celui du User
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 USE [MASTER]; CREATE LOGIN [XXXX] WITH PASSWORD='2222', DEFAULT_DATABASE=[XXXX], DEFAULT_LANGUAGE=[Français], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF;
Je n'ai aucune erreur d'exécution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 IF EXISTS (SELECT * FROM sys.database_principals WHERE name = N'XXXX') BEGIN DROP USER [XXXX] end; CREATE USER [XXXX] FOR LOGIN [XXXX] WITH DEFAULT_SCHEMA=[XXXX];
Dans l'image jointe on voit pour la base XXX qu'elle n'est pas attribuée à l'utilisateur et qu'aucun droit ne lui est attaché.
Merci de vos conseils
Partager