Nous souhaitons donner à l'utilisateur via un script, une base de données et des identifiants de connexion de test. Habituellement, nous allions entrer dans les connexions et cliquer avec le bouton droit de la souris sur le nom d'utilisateur, puis sur la carte utilisateur et la base de données avec laquelle l'associer. Donnez-lui un accès propriétaire, puis cliquez surOK.
Vous devez faire deux choses, s'exécutant toutes les deux dans le contexte de la base de données cible (c'est-à-dire, exécutez d'abord USE (database)
):
CREATE USER [LoginName] FOR LOGIN [LoginName]
EXEC sp_addrolemember N'db_owner', N'LoginName'
En règle générale, si vous utilisez SQL Server Management Studio 2005 ou une version ultérieure, vous pouvez accéder à l'interface utilisateur d'une opération, remplir la boîte de dialogue (dans ce cas, affecter l'utilisateur à la base de données et ajouter des rôles), puis cliquer sur " Script "en haut. Au lieu d'exécuter la commande, il écrira un script pour l'action dans une nouvelle fenêtre de requête.
Utilisez sp_addrolemember
EXEC sp_addrolemember 'propriétaire_base', 'mon_utilisateur'
Voici comment utiliser ALTER ROLE
avec un identifiant de serveur existant nommé MyLogin
.
USE MyDatabase
CREATE USER MyLogin FOR LOGIN MyLogin
ALTER ROLE db_owner ADD MEMBER MyLogin
GO
https://docs.Microsoft.com/en-us/sql/t-sql/statements/alter-role-transact-sql
Je voudrais proposer une autre solution qui pourrait aider quelqu'un ...
-- create the user on the master database
USE [master]
GO
CREATE LOGIN [MyUserName] WITH PASSWORD=N'MyPassword'
CREATE USER [MyUserName] FOR LOGIN [MyUserName]
GO
-- create the user on the target database for the login
USE [MyDatabaseName]
GO
CREATE USER [MyUserName] FOR LOGIN [MyUserName]
GO
-- add the user to the desired role
USE [MyDatabaseName]
GO
ALTER ROLE [db_owner] ADD MEMBER [MyUserName]
GO