sp_adduser (Transact-SQL)
Aplica-se a: SQL Server
Adiciona um novo usuário ao banco de dados atual.
Importante
Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Em vez disso, use CREATE USER .
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_adduser
[ @loginame = ] N'loginame'
[ , [ @name_in_db = ] N'name_in_db' ]
[ , [ @grpname = ] N'grpname' ]
[ ; ]
Argumentos
@loginame [ = ] N'loginame'
O nome do logon do SQL Server ou da conta do Windows. @loginame é sysname, sem padrão. @loginame deve ser um logon existente do SQL Server ou uma conta do Windows.
@name_in_db [ = ] N'name_in_db'
O nome do novo usuário do banco de dados. @name_in_db é sysname, com um padrão de NULL
. Se @name_in_db não for especificado, o nome do novo usuário do banco de dados será padronizado para @loginame. Especificar @name_in_db dá ao novo usuário um nome no banco de dados diferente do nome de logon no nível do servidor.
@grpname [ = ] N'grpname'
A função de banco de dados da qual o novo usuário se torna membro. @grpname é sysname, com um padrão de NULL
. @grpname deve ser uma função de banco de dados válida no banco de dados atual.
Valores do código de retorno
0
(sucesso) ou 1
(falha).
Comentários
sp_adduser
também cria um esquema que é o nome do usuário.
Depois que um usuário for adicionado, use as GRANT
instruções , 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 logins 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 obterá as permissões concedidas à função pública padrão. Para adicionar um usuário a uma função, um valor para o @name_in_db deve ser fornecido. (@name_in_db pode ser o mesmo que @loginame.)
O usuário convidado já existe em todos os bancos de dados. Adicionar convidado do usuário habilita esse usuário, se ele tiver sido desabilitado anteriormente. Por padrão, o usuário convidado é desabilitado em novos bancos de dados.
sp_adduser
não pode ser executado dentro de uma transação definida pelo usuário.
Você não pode adicionar um usuário convidado porque um usuário convidado já existe dentro de cada banco de dados. Para habilitar o usuário convidado, conceda a permissão CONNECT convidado, conforme mostrado:
GRANT CONNECT TO guest;
GO
Permissões
Requer propriedade do banco de dados.
Exemplos
R. Adicionar um usuário de banco de dados
O exemplo a seguir adiciona o usuário Vidur
do banco de dados à função existente Recruiting
no banco de dados atual, usando o logon Vidur
existente do SQL Server.
EXEC sp_adduser 'Vidur', 'Vidur', 'Recruiting';
B. Adicionar um usuário de banco de dados com o mesmo ID de login
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. Adicionar um usuário de banco de dados com um nome diferente do login no nível do servidor
O exemplo a seguir adiciona o logon BjornR
do SQL Server ao banco de dados atual que é um nome de usuário de e adiciona o usuário Bjorn
do banco de dados à Production
função de banco de Bjorn
dados.
EXEC sp_adduser 'BjornR', 'Bjorn', 'Production';