Je reçois des délais extrêmement longs (10 à 30 secondes) dans SQL Server Management Studio 2014 lorsque j'essaie de me connecter à une instance SQL Server 2012 via TCP à l'aide de Authentification Windows . Cela se produit lors de la connexion de l'Explorateur d'objets ou d'une nouvelle fenêtre de requête vierge. Une fois connecté, l'exécution des requêtes est rapide. Le problème ne se produit pas lorsque je me connecte à l'aide de l'authentification SQL Server.
Environnement:
Lorsque je me suis connecté à l'ordinateur Windows 7 d'un collègue avec mon compte de domaine et que je me suis connecté au même serveur SQL via le même VPN, il n'y a eu aucun retard. Lorsque le même collègue s'est connecté à mon PC avec son propre compte de domaine, il a subi le retard. Ces tests montrent que le problème est propre à mon PC. En outre, le problème n'apparaît que lors de la connexion à ce serveur SQL et VPN spécifique; Je peux me connecter à d'autres serveurs SQL sur le réseau local via l'authentification Windows sans aucun délai.
Des choses que j'ai essayées sans succès:
<default>
. J'ai également essayé Named Pipes mais mon serveur n'est pas configuré pour cela.Indices TCPView:
Des idées?
Mise à jour: indice Intellisense/Autocomplete (?):
J'ai remarqué qu'une fois que je me suis enfin connecté, Intellisense/Autocomplete ne fonctionne pas. Ceux-ci nécessitent-ils des connexions distinctes de SSMS? J'ai essayé de les désactiver, et cela n'a pas semblé résoudre le long délai de connexion.
Essayez d'exécuter une trace avec SQL Profiler pendant que vous, puis votre collègue, vous connectez au serveur.
Sélectionnez RPC, SQL Statement & PreConnect - Démarrage/Terminé.
Sélectionnez l'option Enregistrer les résultats dans le tableau, puis comparez les 2 tableaux pour trouver le goulot d'étranglement.
Ou, puisque vous vous connectez par IP, il peut s'agir d'une recherche DNS inversée. Si c'est le cas, ajoutez une entrée dans votre fichier d'hôtes.
Ce que vous devez d'abord vérifier, ce sont les paramètres DNS de votre serveur ou client
Il n'est pas rare que votre serveur SQL rencontre des problèmes de connexion à Active Directory. Si vous essayez avec un compte Windows local, je suis sûr que vous n'aurez pas le problème. Il n'est pas rare que le serveur soit configuré avec un DNS Internet public et lorsque SQL Server se connecte à DC pour vérifier les informations d'identification et le vérifier, il essaiera de contacter le DNS public au lieu du serveur DNS du AD. Étant donné que ces informations ne sont pas stockées sur le DNS public, elles ne seront pas vérifiées et cela entraînera le retard jusqu'à ce qu'elles parviennent à contacter le serveur DNS approprié ou DC via le NTLM
Étant donné que vous ne rencontrez pas le problème avec d'autres serveurs SQL, il est presque certain que le problème n'est pas lié aux configurations AD ou DC
Lancez la commande IPConfig.exe/all à partir du cmd pour vérifier les serveurs DNS configurés. Vous ne devez configurer que les serveurs DNS d'AD. Supprimez tous les serveurs DNS publics et ne laissez que les serveurs DNS d'AD.
J'ai étendu C:\Windows\System32\drivers\etc\hosts
fichier en ajoutant une ligne comme celle-ci:
201.202.203.204 mysqlserver
201.202.203.204
est l'adresse IP de votre serveur SQL.
mysqlserver
- n'importe quel nom que vous aimez (vous n'avez pas besoin de l'utiliser n'importe où).
Cela a rendu mon serveur plus rapide.
Merci à: d -_- b, Jordan, Rieger, felickz, RobbZ
Désactivez le pare-feu Windows sur votre serveur SQL pour le profil réseau de domaine.
Get-NetFirewallProfile -Profile Domain
pour vérifier son état actuelSet-NetFirewallProfile -Profile Domain -Enabled False
pour le désactiver.Si c'était le cas, vous pouvez le réactiver plus tard et affiner vos paramètres. Ou, si vous êtes dans un environnement sûr, vous pouvez le laisser de côté.
La chose étrange est que même si le pare-feu Windows bloque la communication, vous pourrez toujours vous connecter, mais la poignée de main initiale et les demandes suivantes seront incroyablement lentes. Ma théorie (basée sur aucune preuve réelle) est que dans ces cas, la communication retombe sur les canaux nommés, ce qui est beaucoup plus lent entre les PC distants.