AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 104378
Accepted
Jordan Rieger
Jordan Rieger
Asked: 2015-06-18 15:13:35 +0800 CST2015-06-18 15:13:35 +0800 CST 2015-06-18 15:13:35 +0800 CST

Conexão lenta ou tempo limite do SQL Server Management studio ao usar a autenticação do Windows

  • 772

Estou recebendo atrasos extremamente longos (10 ~ 30 segundos) no SQL Server Management Studio 2014 ao tentar se conectar a uma instância do SQL Server 2012 por TCP usando Windows Authentication . Isso acontece ao conectar o Pesquisador de Objetos ou uma nova janela de consulta em branco. Uma vez conectado, a execução de consultas é rápida. O problema não acontece quando eu me conecto usando a autenticação do SQL Server.

Meio Ambiente:

  • Windows 7, logado como usuário de domínio
  • Conexão TCP via endereço IP (não nome do host)
  • O servidor está em um local remoto conectado via VPN
  • Sem criptografia

Quando entrei no computador Windows 7 de um colega de trabalho com minha conta de domínio e me conectei ao mesmo SQL Server por meio da mesma VPN, não houve atraso. Quando o mesmo colega de trabalho fez login no meu PC com sua própria conta de domínio, ele experimentou o atraso. Esses testes mostram que o problema é exclusivo do meu PC. Além disso, o problema só aparece ao se conectar a esse SQL Server e VPN específicos; Posso me conectar a outros SQL Servers na rede local via Autenticação do Windows sem demora.

Coisas que tentei sem sucesso:

  • Antivírus e firewall desativados
  • Renomeamos a pasta "12.0" em "%userprofile%\AppData\Roaming\Microsoft\SQL Server Management Studio" para "_12.0" para forçar o SSMS a recriar minhas configurações de usuário.
  • Force o protocolo de rede para TCP em vez de <default>. Eu também tentei pipes nomeados, mas meu servidor não está configurado para isso.
  • Instalei o SSMS 2012 e tentei isso em vez de 2014.
  • IPv6 desativado
  • Blackhole crl.microsoft.com para 127.0.0.1 no meu arquivo etc\hosts.
  • Desabilitou o Programa de Aperfeiçoamento da Experiência do Cliente no SSMS, Visual Studio e Windows.
  • Desinstalei todos os aplicativos relacionados ao SQL Server do meu PC e reinstalei apenas em 2012.

Dicas do TCPView:

  • Usando TCPView, notei que quando faço uma nova conexão, seu estado se torna ESTABLISHED imediatamente, mas uma ou duas conexões a mais com o SQL Server são tentadas continuamente e fechadas com TIME_WAIT . No computador do meu colega de trabalho, essas conexões são ESTABELECIDAS e sólidas. Portanto, tenho certeza de que essa é a fonte dos tempos limite, mas para que servem as conexões e por que elas falham? (Não tenho nenhum complemento no meu SSMS.)

Alguma ideia?

Atualização: Pista Intellisense/Autocomplete (?):

Percebi que quando finalmente me conecto, o Intellisense/Autocomplete não funciona. Eles exigem conexões separadas do SSMS? Tentei desativá-los e não pareceu resolver o longo atraso de conexão.

sql-server sql-server-2012
  • 5 5 respostas
  • 48310 Views

5 respostas

  • Voted
  1. Best Answer
    d-_-b
    2015-06-18T19:27:08+08:002015-06-18T19:27:08+08:00

    Tente executar um rastreamento com o SQL Profiler enquanto você e seu colega de trabalho se conectam ao servidor.
    Selecione RPC, Instrução SQL e PreConnect - Iniciando/Concluído.
    Selecione a opção Salvar resultados na tabela e compare as 2 tabelas para encontrar o gargalo.

    Ou, já que você está se conectando por IP, pode estar fazendo uma pesquisa de DNS reverso. Em caso afirmativo, adicione uma entrada em seu arquivo hosts.

    • 22
  2. NikolaD
    2015-06-22T17:43:44+08:002015-06-22T17:43:44+08:00

    O que você deve verificar primeiro são as configurações de DNS do seu servidor ou cliente

    Não é raro que seu SQL Server tenha problemas para se conectar ao Active Directory. Se você tentar com uma conta local do Windows, tenho certeza de que não terá o problema. Não é incomum que o servidor esteja configurado com DNS público de internet e quando o SQL Server se conectar ao DC para verificar as credenciais e verificá-lo, ele tentará entrar em contato com o DNS público em vez do servidor DNS do AD. Como essas informações não são armazenadas no DNS público, não serão verificadas e isso causará o atraso até que ele consiga entrar em contato com o servidor DNS ou DC adequado através do NTLM

    Como você não está enfrentando o problema com outros SQL Servers, quase certamente o problema não está relacionado às configurações do AD ou DC

    Acione o comando IPConfig.exe /all do cmd para verificar os servidores DNS configurados. Você deve ter apenas os servidores DNS do AD configurados. Remova todos os servidores DNS públicos e deixe apenas os servidores DNS do AD.

    • 5
  3. Dennis Gorelik
    2018-11-15T17:53:18+08:002018-11-15T17:53:18+08:00

    Eu estendi o C:\Windows\System32\drivers\etc\hostsarquivo adicionando uma linha como esta:

    201.202.203.204     mysqlserver
    

    201.202.203.204é o endereço IP do seu SQL Server.

    mysqlserver- qualquer nome que você goste (você não precisa usá-lo em nenhum lugar).

    Isso tornou meu servidor mais rápido.

    Obrigado a: d-_-b, Jordan, Rieger, felickz, RobbZ

    • 1
  4. Laszlo Mako
    2019-09-08T01:34:11+08:002019-09-08T01:34:11+08:00

    Desative o Firewall do Windows em seu servidor SQL para o perfil de rede de domínio.

    • Iniciar Powershell
    • Execute Get-NetFirewallProfile -Profile Domainpara verificar seu estado atual
    • Se estiver ativado, execute: Set-NetFirewallProfile -Profile Domain -Enabled Falsepara desativá-lo.

    Se foi isso, você pode ligá-lo novamente mais tarde e ajustar suas configurações. Ou, se você estiver em um ambiente seguro, pode deixá-lo desligado.

    O estranho é que, mesmo que o Firewall do Windows bloqueie a comunicação, você ainda poderá se conectar, mas o handshake inicial e as solicitações subsequentes serão incrivelmente lentos. Minha teoria (baseada em nenhuma evidência real) é que, nesses casos, a comunicação recai em Named Pipes, que é muito mais lento entre PCs remotos.

    • 1
  5. Anderson Cordeiro
    2021-04-24T08:15:48+08:002021-04-24T08:15:48+08:00

    Eu tive esse problema quando nos mudamos para um data center. O IPS mudou e o AD também mudou os servidores.

    Para resolver, adicione a entrada do servidor nos hosts da máquina local onde o Management Studio está localizado.

    adicione a entrada no arquivo host no Windows:

    xx.xxx.xx.xxx servername.domain

    Isso fez um DNS reverso.

    • 1

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

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve