J'ai SQL Server 2016 installé sur Windows Server 2016 Core. Localement, cela semble fonctionner. Je peux me connecter en utilisant SQLCMD.exe
et faites quelques sélections de base et quoi d'autre.
Depuis la télécommande, je ne peux pas me connecter. En utilisant SQLCMD.exe
sur une machine distante:
sqlcmd -S boldiq_db3
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Named Pipes
Provider: Could not open a connection to SQL Server [53]. .
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Login timeout
expired.
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : A network-related
or instance-specific error has occurred while establishing a connection
to SQL Server. Server is not found or not accessible. Check if instance
name is correct and if SQL Server is configured to allow remote
connections. For more information see SQL Server Books Online..
Et à partir de SQL Server Management Studio:
Dans l'installation INI j'ai installé depuis, j'ai:
TCPENABLED = 1
Donc, je crois que TCP est activé. Il peut s'agir d'un problème de pare-feu, mais j'ai exécuté:
netsh advfirewall firewall add rule name = SQLPort dir = in protocol = tcp action = allow localport = 1433 remoteip = localsubnet profile = DOMAIN
Ce qui semble s'être terminé avec succès. Y a-t-il d'autres étapes pour diagnostiquer où le problème se produit? Merci!
Deviner! Étant donné que le serveur s'exécute sur une instance distante de VMWare ESXi, les sous-réseaux sont complètement différents. J'ai changé:
netsh advfirewall firewall add rule name = SQLPort dir = in protocol = tcp action = allow localport = 1433 remoteip = localsubnet profile = DOMAIN
À:
netsh advfirewall firewall add rule name = SQLPort dir = in protocol = tcp action = allow localport = 1433 remoteip = any profile = DOMAIN
Et tout a immédiatement commencé à fonctionner. Pouah, pare-feu.