Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Instância Gerenciada de SQL do Azure
Permite que um membro da função de servidor fixa sysadmin ou o proprietário do banco de dados represente outro usuário.
Importante
SETUSER está incluído apenas para compatibilidade retroalimentada. SETUSERpode não ser suportado em uma futura versão do SQL Server. Em vez dessa função, recomendamos usar EXECUTE AS .
Convenções de sintaxe de Transact-SQL
Sintaxe
SETUSER [ 'username' [ WITH NORESET ] ]
Argumentos
'username'
É o nome de um usuário do Windows ou do SQL Server no banco de dados atual que é representado. Quando username não é especificado, a identidade original do administrador do sistema ou do proprietário do banco de dados que representa o usuário é redefinida.
COM NORESET
Especifica que instruções subsequentes SETUSER (sem nome de usuário especificado) não devem redefinir a identidade do usuário para administrador do sistema ou dono do banco de dados.
Comentários
SETUSER pode ser usado por um membro do papel fixo de servidor administrador do sistema ou pelo proprietário de um banco de dados para adotar a identidade de outro usuário e testar as permissões do outro usuário. A associação à função de banco de dados fixa db_owner não é suficiente.
Use apenas SETUSER com usuários do SQL Server. SETUSERnão é suportado por usuários de Windows. Quando SETUSER foi usado para assumir a identidade de outro usuário, quaisquer objetos que o usuário que se personifica criar são propriedade do usuário que está sendo personificado. Por exemplo, se o proprietário do banco de dados assumir a identidade do usuário Marina e criar uma tabela chamada orders, a tabela orders será de propriedade de Marina, e não do administrador do sistema.
SETUSER permanece em vigor até que outra SETUSER declaração seja emitida ou até que o banco de dados atual seja alterado com a instrução USE.
Observação
Se SETUSER o WITH NORESET for usado, o proprietário do banco de dados ou administrador do sistema deve fazer logout e depois iniciar login novamente para restabelecer seus próprios direitos.
Permissões
Exige associação à função de servidor fixa sysadmin ou deve ser o proprietário do banco de dados. A associação à função de banco de dados fixa db_owner não é suficiente
Exemplos
O exemplo a seguir mostra como o proprietário do banco de dados pode adotar a identidade de outro usuário. O usuário mary criou uma tabela chamada computer_types. Ao usar SETUSER, o proprietário do banco de dados se mary faz passar por ele para conceder acesso ao usuário joe à computer_types tabela e então redefine sua própria identidade.
SETUSER 'mary';
GO
GRANT SELECT ON computer_types TO joe;
GO
--To revert to the original user
SETUSER;
Consulte Também
DENY (Transact-SQL)
GRANT (Transact-SQL)
REVOKE (Transact-SQL)
USE (Transact-SQL)