Connexion aux environnements Adélia :

-        Clic droit sur l'environnement >> Connexion.

-        Cocher "Utilisateur connecté au système" => authentification Windows à la base de données SQL Server

-        Spécifier un profil => authentification SQL à la base de données SQL Server

 

On peut savoir quel type d'authentification SQL Server attend depuis la fenêtre de connexion de SQL Management Studio :

 

Au niveau des concepteurs Adélia, il faut que le profil sys. associé au concepteur soit identique :

 


Utilisateurs et dbo :

-        Il faut que le profil soit connu de SQL Server et qu’il ait les droits au-moins Public pour accéder à la base (environnement Adélia).

-        Lorsqu’on se connecte à une base SQL Server sur laquelle on dispose de droit d’administration, on est reconnu en tant qu’utilisateur « dbo » (database owner). Il s’agit de la valeur retournée par la requête « SELECT USER » qui est exécutée par Adélia pour définir le profil système associé au concepteur.

-        Adélia ne peut donc pas distinguer les concepteurs disposant de ces droits, puisqu’ils sont tous redirigés vers le concepteur ayant le profil système « dbo » associé (ou ne peuvent pas se connecter si celui-ci n’est pas configuré).

-        Les profils disposant de ce droit sont :

  • Le profil propriétaire de la base de données ;
  • Les profils explicitement configurés pour (disposant du droit db_owner sur la base de données) ;
  • Implicitement les administrateurs SQL Server, titulaires du rôle sysadmin.

 

-        En authentification de type Windows, les droits de l’utilisateur sont ceux explicitement configurés pour l’utilisateur, ainsi que ceux hérités des groupes Windows dont il fait partie.

-        Exemple : Les membres du groupe « informatique » (Windows) n’ont pas de droit explicitement configuré. Par contre, le groupe « informatique » est membre du groupe local « Administrateurs » de la machine. Ce groupe est configuré dans SQL Server comme disposant du rôle sysadmin. Les membres du groupe « informatique » héritent donc du rôle sysadmin, et sont donc par extension des droits db_owner sur toutes les bases de données.

=> Configurer SQL Server de façon à dédier les droits d’administration au groupe « informatique » et révoquer le rôle sysadmin pour le groupe « administrators ».

 

-       

-       

Si le nom de connexion est <DOMAINE>\<Profil>, il s’agit d’une authentification Windows.

Si le nom de connexion est <Profil>, il s’agit d’une authentification SQL Server.

Il faut qu’on retrouve ce nom de connexion au niveau du concepteur Adélia (zone « Profil système »).

 

-       

Si l’utilisateur de la base a comme rôle : db_owner, il est considéré comme dbo (data base owner).

 

-       

 

-       

-       

De même, au niveau de la connexion générale à SQL Server, si l’utilisateur a le rôle de serveur sysadmin, il est considéré comme dbo.

 

-       

 

Pour ne plus qu’un utilisateur soit reconnu comme dbo, il ne doit pas être  sysadmin, et ne doit pas avoir le rôle db_owner sur la base. Il doit cependant avoir au-moins le rôle public sur la base pour pouvoir s’y connecter et travailler.

Attention ! Il faut qu’il y ait au-moins un utilisateur dbo sysadmin.

Dans SQL Server Management Studio, aller dans la Sécurité (au niveau SQL Server) >> Connexions.

Double-cliquer sur l’utilisateur concerné.

Sélectionner la page Rôles du serveur.

Dans la liste des « Rôles du serveur », décocher « sysadmin ».

Valider.

Sélectionner ensuite la page Mappage de l’utilisateur.

Dans la liste des « Utilisateurs mappés à cette connexion », sélectionner la base concernée.

Dans la liste des « Appartenance », décocher « db_owner » et cocher « public ».

Valider.

 

Vérifier le profil de connexion à la base de données / environnement SQL Server :

-        Prendre une fenêtre de commandes DOS.

-        Exécuter « hsql ».

-        Pour changer le prompt : « driver sql server ».

-        Se connecter à l’environnement :

  • Authentification Windows : « connect ENV ».
  • Authentification SQL : « connect ENV USER ».
  • (remplacer ENV par le nom de l’environnement et USER par le profil SQL de connexion).