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 em vez disso. |
Sintaxe
sp_adduser [ @loginame = ] 'login'
[ , [ @name_in_db = ] 'user' ]
[ , [ @grpname = ] 'role' ]
Argumentos
[ @loginame = ] 'login'
É o nome da conta de logon do SQL Server ou de logon do Windows. login é um sysname, sem nenhum padrão. login deve ser um logon existente SQL Server ou logon do Windows.[ @name_in_db = ] 'user'
É o nome do novo usuário de banco de dados. user é um 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