SQL-Server - conceder permissão de DBO ao usuário no banco de dados


12

Eu tenho um banco de dados de relatórios que restauro todas as noites a partir de um backup do banco de dados de produção. Ao restaurar, preciso adicionar um usuário à DBOfunção desse banco de dados.

Eu pensei que isso iria funcionar:

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

Mas recebo o seguinte erro, pois esse usuário não existe no banco de dados Restored_Prod:

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

Como adiciono o usuário 'chris' ao banco de dados para poder executá sp_addrolemember-lo e torná-lo um DBOdesse banco de dados? Existe uma maneira de adicionar permissões de usuário usando o sp_addrolemembercomando do banco de dados mestre onde o usuário existe?

Respostas:


30

As entidades de usuário devem existir em um banco de dados para que você possa conceder permissões.

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


1
Isso faz sentido - eu não sabia que havia uma distinção entre login e usuário. Obrigado
OrangeGrover

2
Veja esta resposta para uma pergunta diferente, na qual explico a relação de login / usuário com mais detalhes.
Mike Fal
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.