SQL Server - Conecte-se como outro usuário do domínio

5

Usamos a Autenticação do Windows para conexão com nossas instâncias internas do SQL Server (uma combinação de 2005 e 2008).

Quando abro o SQL Server Management Studio e conecto a um servidor, ele obviamente me conectou usando minhas credenciais de domínio atuais.

É possível de alguma forma substituir isso e fazer logon como um usuário de domínio alternativo?

O objetivo é verificar se os usuários foram configurados corretamente e podem acessar os bancos de dados que eu quero.

Eu sei que posso fazer login em uma sessão do Windows como eles e fazê-lo dessa maneira, mas isso parece um pouco entediante.

    
por Martin 10.08.2009 / 12:22

3 respostas

7

Depois de cavar, parece que a única maneira de conseguir isso é através do comando runas:

runas /user:domain\user "C:\Program Files\Microsoft SQL Server0\Tools\Binn\VSShell\Common7\IDE\Ssms.exe"

Ou para um ambiente de 64 bits, use a pasta de arquivos de programas de 32 bits:     runas / user: domínio \ usuário "C: \ Arquivos de Programas (x86) \ Microsoft SQL Server \ 100 \ Ferramentas \ Binn \ VSShell \ Common7 \ IDE \ Ssms.exe"

    
por 10.08.2009 / 13:58
2

Você não poderá fazer login como eles, se fizer isso, mas poderá validar suas permissões no SQL Server. Se você estiver usando o T-SQL, poderá usar o comando EXECUTE AS para representar o usuário no SQL Server (use REVERT para voltar). Por exemplo:

EXECUTE AS LOGIN = 'MyDomain\SomeUser';
GO

SELECT name FROM mydb.sys.objects;
GO

REVERT;
GO
    
por 10.08.2009 / 15:59
0

IIRC, se você mapear uma unidade para o servidor como o usuário que deseja usar antes de fazer qualquer outra coisa no servidor, quando você se conectar à segurança integrada, as credenciais que você já estabeleceu nesse servidor serão usadas. Eu costumava fazer isso quando estava trabalhando em uma estação de trabalho que não era confiável pelo domínio em que os servidores estavam. Você ainda só obtinha um conjunto de credenciais, esse truque não funciona para dois conjuntos diferentes de credenciais.

Além disso, o comando TSQL SETUSER pode ser útil aqui. Ele permite que você personifique alguém, algo como o su faz no linux. A documentação de 2008 diz que isso está obsoleto, mas acho que ainda funciona.

    
por 11.08.2009 / 19:49