SQL Server | Ajouter un utilisateur au rôle SysAdmin
Rédigé par O. Clotaire
Aucun commentaire
Classé dans : Windows

Un collaborateur devait effectuer des tests de requêtes SQL avec les droits administrateur. Ce n'est pas mon domaine mais part curiosité, je me suis naturellement mis à chercher la solution.
Voici le message d'erreur lors de la requête :
SQL SERVER - Correction: Erreur: Msg 15151, niveau 16, état 1, ligne 2 Impossible de modifier le login 'sa', car il n'existe pas ou vous n'avez pas la permission
Alors, comment ajouter des droits d'administration à un utilisateur standard ?
Le rôle sysadmin est celui dans lequel est le compte SA, mais c'est à vous de définir les privilèges convenables.
Les membres du rôle serveur sysadmin peuvent exécuter n’importe quelle activité dans le Moteur de base de données.
La méthode 1 : Avec SQL Server Management Studio
- Allez dans l'explorateur de SSMS jusqu'à Security
- Clic droit pour sélectionner New Login
- Dans la page General créez votre compte en choisissant SQL Server authentication ou Windows authentication si il y a une gestion d'accès par l'AD
- Dans la page Server Roles, cochez sysadmin
-OK
Méthode 2 : Avec Transact-SQL
Crée un rôle de base de données dans la base de données active.
- Dans l'Explorateur d'objets, connectez-vous à une instance de Moteur de base de données
- Cliquez sur Nouvelle requête
- Copiez et collez la requête suivante dans la fenêtre de requête, puis cliquez sur Exécuter.
Elle permet de créer le compte "test" dans le rôle sysadmin, la base de donnée "master" si il n'existe pas.
IF NOT EXISTS (SELECT LOGINNAME FROM MASTER.DBO.SYSLOGINS WHERE NAME = N'test')
BEGIN
CREATE LOGIN [test] WITH PASSWORD=N'test', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[fr_french], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF;
ALTER SERVER ROLE sysadmin ADD MEMBER test
- Redémarrez le Service SQL
Méthode 3 : A la old school
Celle-ci est une ancienne méthode avec sp_addsrvrolemember remplacé par ALTER SERVER ROLE
- Dans l' Explorateur d'objets, connectez-vous à une instance de Moteur de base de données
- Cliquez sur Nouvelle requête
- Copiez et collez la requête suivante dans la fenêtre de requête, puis cliquez sur Exécuter.
Elle permet de créer le compte "test" dans le rôle sysadmin, la base de donnée "master" si il n'existe pas.
USE [master]
GO
CREATE LOGIN [test]
WITH PASSWORD=N'test',
DEFAULT_DATABASE=[master],
DEFAULT_LANGUAGE=[fr_french],
CHECK_EXPIRATION=OFF,
CHECK_POLICY=OFF
GO
EXEC master..sp_addsrvrolemember @loginame = N'test', @rolename = N'sysadmin'
GO
- Redémarrez le Service SQL
Remarques:
Copies d'écran de Pinal Dave.