Existe um comando T-sql, como o Oracle "Connect" que me permite alterar o usuário com o qual estou logado?
relate perguntas
-
SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado
-
Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?
-
Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Como determinar se um Índice é necessário ou necessário
Você pode usar o comando EXECUTE AS:
http://msdn.microsoft.com/en-us/library/ms181362.aspx
Você pode tentar SetUser 'nome de usuário' também. Para reverter basta executar SetUser. Verifique executando select suuser_name()
Usando sqlcmd.exe ou Management Studio no modo SQLCMD, você pode usar a
:connect
macro para alterar a conexão no meio de um script. (Veja aqui a sintaxe completa - estranhamente, não consigo encontrar documentação para isso no MSDN.)Se você só precisa testar algo como um principal diferente, pode usar
EXECUTE AS
para representar o principal eREVERT
desistir.A pergunta tem várias respostas, dependendo do contexto de 'alterar o usuário com o qual estou conectado'.
Um site público terá uma ou algumas 'contas de usuário' que são usadas por todos os visitantes do site. Mesmo por meio dessas contas, pode ser necessário elevar uma permissão para executar, por exemplo, SQL dinâmico na solução de um requisito de pesquisa multivariável.
Errand Sommarskog tem uma discussão muito detalhada sobre segurança e gerenciamento de contas de usuário via T-SQL em stored procedures. http://www.sommarskog.se/grantperm.html