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 do SQL Server ou uma conta do Windows existente.

@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 como @loginame. A especificação @name_in_db fornece 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 GRANTinstruções , DENYe 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 usuário convidado habilita 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 dentro de uma transação definida pelo usuário.

Não é possível 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 permissão CONNECT de 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 Vidurexistente 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 usuário Arvind ao banco de dados atual para o logon Arvinddo 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 de seu logon no nível do servidor

O exemplo a seguir adiciona logon do SQL Server BjornR ao banco de dados atual que é um nome de usuário de e adiciona usuário Bjorn de Production banco de dados à função de banco de Bjorndados.

EXEC sp_adduser 'BjornR', 'Bjorn', 'Production';