Ich kann keine Verbindung zur MS SQL-Instanz herstellen - intern

1

Ich verwende folgende Plattform- und Softwareversionen:

Red Hat Enterprise Linux Server release 7.4 (Maipo)
Microsoft SQL Server 2017 (RTM-CU3-GDR) (KB4052987) - 14.0.3015.40 (X64) 
Dec 22 2017 16:13:22 
Copyright (C) 2017 Microsoft Corporation Express Edition (64-bit) on
Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600:) (Hypervisor)

Ich habe viel nach Antworten auf Google gesucht, aber noch keine Lösung gefunden. Ich kann keine Verbindung RDS instance having MS SQL instanceüber Linux herstellen.

Es werden folgende Fehler angezeigt, wenn ich versuche:

[ec2-user@ip-~]$ sqlcmd -H mssqldb.xxxxxxxxxxxxxx.com -P 1433
                        -U userXXXXX -P aXXXXXX
                        -Q 'SELECT TOP 1 [n] FROM [dbbase2].[dbo].[table_people]'

Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server :
               Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server :
               TCP Provider: Error code 0x2749.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server :
               A network-related or instance-specific error has occurred while
               establishing a connection to SQL Server. The 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.

[ec2-user@ip- ~]$  Check if instance name is correct and if SQL Server is
                   configured to allow remote connections.

Könnte jemand bitte das Problem und die Lösung erzählen?

Vielen Dank.

batmanforever
quelle
@PimpJuiceIT Ich habe versucht, Folgendes auszuführen: sqlcmd -S EC2XXXXXXXX -d dbXXXX -P 1433 -U userXXXXX -P aXXXXX -Q 'SELECT SELECT TOP 1 [n] FROM [Nums]' oder: sqlcmd -S EC2XXXXXXXX -d dbXXXX -P 1433 -U userXXXXX -P aXXXXX Ist der gleiche Fehler. Ich habe nur eine Verbindung mit SQL Server Management Studio von Windows 7, aber es gibt immer noch ein Problem, wenn ich eine Verbindung über Linux herstellen möchte.
batmanforever
@PimpJuiceIT Ich vermute, aber ich bin nicht sicher, ob es vielleicht ein Problem mit SQL Server Configuration Manager ist, bei dem ich TCP / IP-Protokolle einrichten sollte, aber keinen Zugriff auf dieses Tool habe.
batmanforever
Was ich in Linux überprüft habe {Ich führe zuerst die Befehle sudo yum check-update und sudo yum update mssql-tool aus, dann führe ich aus: sqlcmd -S EC2XXXX-SERVERNAME \ INSTANCE, 1433 [ec2-user @ ip-1 ~] $ sqlcmd -S EC2XXXX-SERVERNAME \ INSTANCE, 1433 Sqlcmd: Fehler: Microsoft ODBC-Treiber 17 für SQL Server: Anmeldezeitüberschreitung abgelaufen. Sqlcmd: Fehler: Microsoft ODBC-Treiber 17 für SQL Server: TCP-Anbieter: Fehlercode 0x2AF9.
batmanforever

Unter Windows funktioniert dies und der Port ist jedes Mal geöffnet: {telnet instance.XX..rds.amazonaws.com 1433} Wenn ich unter Linux Telnet überprüfe, wird nach einigen Sekunden Folgendes angezeigt: {Trying 1XX.XX.XXX.XXX .. .Connected to INSTANCE.X.rds.amazonaws.com.Escape-Zeichen ist '^]'. Die Verbindung wurde vom fremden Host geschlossen. }
batmanforever
Was meinen Sie mit der spezifischen Version der SQL Server-Instanz? Was ist der schnellste Weg, um 17 ver-Treiber zu entfernen und die ODBC-Treiber 16 oder 15 zu installieren?
batmanforever

Antworten:

0

Prüfen

telnet mssqldb.xxxxxxxxxxxxxx.com 1433 

sollte die Verbindung zum Port öffnen.

Stellen Sie sicher, dass die Standardinstanz vorhanden ist (keine benannte Instanz). Geben Sie andernfalls den Instanznamen im Befehl an.

Omar
quelle