Estou tentando conectar-me a um SQL Server remoto em uma VPN em um domínio diferente. Quando insiro o nome do servidor no SQL Server e escolho Parâmetros de conexão adicionais para adicionar algumas coisas extras necessárias à minha escola:
Integrated Security=SSPI; User ID=DOMAIN\username; Password=Password
Estou tendo o erro a seguir:
Falha na autenticação. O logon é de um domínio não confiável e não pode ser usado com autenticação do Windows.
sql-server
authentication
logins
fxuser
fonte
fonte
Respostas:
Você está tentando passar credenciais do Windows em texto sem formatação a partir da cadeia de conexão de um aplicativo. Simplesmente não é assim que a autenticação do Windows funciona e derrota amplamente o objetivo.
Você também não pode simplesmente criar o mesmo nome de usuário com a mesma senha em seu próprio domínio e esperar que funcione magicamente. O nome do domínio ainda faz parte da validação - sua máquina precisa fazer parte do domínio ou o domínio em que ela está deve ser confiável pelo domínio da escola.
A única solução alternativa que conheço é o SSMS, e esse é o
runas /netonly
truque descrito nesta resposta . Isso engana o Windows a iniciar o SSMS como o logon especificado, e não o seu próprio (isso não é algo que você pode definir na caixa de diálogo Propriedades de conexão do SSMS, é como você precisa iniciar o SSMS a partir da linha de comando ou de um atalho):Isso solicitará sua senha no domínio remoto. Ele vai olhar como ele está usando suas credenciais locais do Windows, mas não é .
É possível que funcione também com o Visual Studio, mas eu realmente não sei.
Então, suas opções são:
runas /netonly
truque com o Visual Studiorunas /netonly
truque com SSMSfonte
runas
coisa não trabalhar com o Visual Studio.Existe outra maneira, que agora uso preferencialmente ao
runas /netonly
método.Você pode adicionar as credenciais ao seu perfil no Windows usando o Credential Manager encontrado no painel de controle do Windows.
Preencha o campo "endereço da Internet ou de rede" com o nome e o número da porta da instância SQL para a qual você deseja armazenar credenciais.
Exemplo:
UniServer:1433
(1433 é a porta padrão, você pode precisar de uma porta diferente, especialmente se estiver se conectando a uma instância nomeada)MYDOMAIN\MYUSER
)Se você tiver o nome do servidor, a porta e os detalhes de login corretos, agora poderá usar a Autenticação do Windows na maioria das ferramentas clientes, SSMS, Excel, qualquer que seja. Todos eles usarão as credenciais armazenadas.
Dica: Às vezes, você precisa usar o FQN para o servidor ao adicionar as credenciais. por exemplo
UniServer.UniDomain.org:1433
, tudo depende dos detalhes da sua rede.Aqui está uma rápida demonstração do método: http://youtu.be/WiVBPsqB9b4
É uma captura de tela minha tentando (e falhando) conectar-me a um SQL Server executando em uma VM da minha área de trabalho, adicionando as credenciais necessárias e tentando novamente - com êxito.
Dica: use o comando "cmdkey / add" para criar scripts e atualizar credenciais armazenadas.
fonte