web-dev-qa-db-fra.com

SQL-Server - Accorder l'autorisation DBO utilisateur sur la base de données

J'ai une base de données de rapports que je restaure tous les soirs à partir d'une sauvegarde de la base de données de production. Lors de la restauration, je dois ajouter un utilisateur au rôle DBO pour cette base de données.

Je pensais que cela fonctionnerait:

use Restored_Prod
go
exec sp_addrolemember 'db_owner', 'chris'
go

Mais j'obtiens l'erreur suivante, car cet utilisateur n'existe pas dans la base de données Restored_Prod:

Msg 15410, Level 11, State 1, Procedure sp_addrolemember, Line 75
User or role 'chris' does not exist in this database.

Comment ajouter l'utilisateur "chris" à la base de données pour pouvoir exécuter le sp_addrolemember pour lui faire un DBO de cette base de données? Existe-t-il un moyen d'ajouter les autorisations utilisateur à l'aide de sp_addrolemember commande de la base de données master où l'utilisateur existe?

12
OrangeGrover

Les principaux utilisateurs doivent exister dans une base de données avant de pouvoir leur accorder des autorisations.

use Restored_Prod
GO

CREATE USER [chris] FROM LOGIN [chris];
exec sp_addrolemember 'db_owner', 'chris';
GO

http://technet.Microsoft.com/en-us/library/ms173463.aspx

30
Mike Fal