sp_adduser (Transact-SQL)
Adiciona um novo usuário ao banco de dados atual.
Importante
Esse recurso será removido em uma versão futura do Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Use CREATE USER.
Aplica-se a: SQL Server (SQL Server 2008 à versão atual). |
Convenções da sintaxe Transact-SQL
Sintaxe
sp_adduser [ @loginame = ] 'login'
[ , [ @name_in_db = ] 'user' ]
[ , [ @grpname = ] 'role' ]
Argumentos
[ @loginame = ] 'login'
É o nome do logon do SQL Server ou do logon do Windows. login é sysname, sem valor padrão. login deve ser um logon existente do SQL Server ou do Windows.[ @name_in_db = ] 'user'
É o nome do novo usuário de banco de dados. user é sysname, com um padrão NULL. Se user não for especificado, o nome do novo usuário de banco de dados assumirá como padrão o nome de login. A especificação de user fornece ao novo usuário um nome no banco de dados diferente do nome de logon em nível de servidor.[ @grpname = ] 'role'
É a função de banco de dados da qual o novo usuário se torna um membro. role é sysname, com um padrão NULL. role deve ser uma função de banco de dados válida no banco de dados atual.
Valores de código de retorno
0 (êxito) ou 1 (falha)
Comentários
sp_adduser também criará um esquema que tem o nome do usuário.
Depois que um usuário for adicionado, use as instruções GRANT, DENY e REVOKE para definir as permissões que controlam as atividades executadas pelo usuário.
Use sys.server_principals para exibir uma lista de nomes de logon válidos.
Use sp_helprole para exibir uma lista dos nomes de função válidos. Quando você especifica uma função, o usuário automaticamente ganha as permissões definidas para ela. Se uma função não for especificada, o usuário ganhará as permissões concedidas à função pública padrão. Para adicionar um usuário a uma função, deve ser fornecido um valor para user name. (username pode ser igual a login_id.)
O usuário convidado já existe em todo banco de dados. A adição do usuário convidado habilitará esse usuário, se ele foi desabilitado anteriormente. Por padrão, o usuário convidado é desabilitado em novos bancos de dados.
sp_adduser não pode ser executado em uma transação definida pelo usuário.
Não é possível adicionar um usuário convidado porque um usuário convidado já existe em todo banco de dados. Para habilitar o usuário convidado, conceda ao convidado a permissão CONNECT conforme mostrado:
GRANT CONNECT TO guest;
GO
Permissões
Requer propriedade do banco de dados.
Exemplos
A.Adicionando um usuário de banco de dados
O exemplo a seguir adicionar o usuário de banco de dados Vidur à função existente Recruiting no banco de dados atual, usando o logon existente Vidur do SQL Server.
EXEC sp_adduser 'Vidur', 'Vidur', 'Recruiting';
B.Adicionando um usuário de banco de dados com a mesma ID de logon
O exemplo a seguir adiciona o usuário Arvind ao banco de dados atual para o logon Arvind do SQL Server. Esse usuário pertence à função pública padrão.
EXEC sp_adduser 'Arvind';
C.Adicionando um usuário de banco de dados com um nome diferente de seu logon em nível de servidor
O exemplo a seguir adiciona o logon BjornR do SQL Server ao banco de dados atual que possui um nome de usuário Bjorn, e adiciona o usuário de banco de dados Bjorn à função de banco de dados Production.
EXEC sp_adduser 'BjornR', 'Bjorn', 'Production';
Consulte também
Referência
Procedimentos armazenados de segurança (Transact-SQL)
sys.server_principals (Transact-SQL)