Herstellen einer Verbindung von SSMS zu einer EC2-SQL-Instanz

7

Ich habe einen EC2-Server mit SQL2008 R2.

  • Ich habe den Port 1433 geöffnet und erfolgreich mit yougetsignal.com/tools/open-ports getestet.
  • Ich habe den SQL Server so eingestellt, dass er Remoteverbindungen akzeptiert.
  • Ich habe den Dynamics-Port im TCP / IP-Dialogfeld unter Configuration Manager auf 1433 festgelegt.
  • Auf Client-Protokollen habe ich Shared Memory 1st, TCP 2nd und Named Pipes 3rd.
  • Die Server-SQL-Browser-Dienste werden ausgeführt

Auf dem Server verbinde ich mich normalerweise von SSMS mit MACHINENAME \ SQL2008

FRAGE:
Wie kann ich mich von meinem lokalen Computer aus richtig verbinden? Ist es " IP ADDRESS \ SQL2008 "?

Ich habe verschiedene Möglichkeiten ausprobiert und es funktioniert NICHT. Ich muss also davon ausgehen, dass es sowohl die Art und Weise ist, wie ich mich verbinde, als auch einige fehlende Einstellungen auf dem Server. Ich erhalte folgende Fehlermeldung:

A network-related or instance-specific error occurred while establishing   
a connection to SQL Server. The server was not found or was not accessible. 
Verify that the instance name is correct and that the SQL Server is configured  
to allow remote connections. (provider: Named Pipes Provide, error: 5-Invalid  
parameter(s) found) (Microsoft SQL Server, Errror: 87)

ANTWORT
Danke Mark. Ich konnte mich nur durch Anhängen des ", 1433" am Ende verbinden.
Die richtige Antwort (zumindest für mein Problem) war also MACHINENAME \ SQL2008,1433

Nochmals vielen Dank Mark !!!

SF Entwickler
quelle

Antworten:

6

Wenn der Server als Standardinstanz installiert ist, sollten Sie eine Verbindung mit dem DNS-Namen oder der IP-Adresse herstellen können. Das "\ SQL2008", das Sie der Adresse hinzugefügt haben, wird verwendet, um eine Verbindung zu einer benannten Instanz mit dem Namen "SQL2008" herzustellen.

Versuchen Sie, den Port in Ihrer Verbindungszeichenfolge anzugeben, z. B. "123.123.123.123,1433". Ohne den angegebenen Port fragt der Client zunächst Port 1434 ab, um zu bestimmen, welcher Port verwendet werden soll. Alternativ können Sie Port 1434 öffnen.

SQL Server Browser Service

Wenn SQL Server-Clients SQL Server-Ressourcen anfordern, sendet die Client-Netzwerkbibliothek über Port 1434 eine UDP-Nachricht an den Server. Der SQL Server-Browser antwortet mit dem TCP / IP-Port oder der Named Pipe der angeforderten Instanz. Die Netzwerkbibliothek in der Clientanwendung stellt dann die Verbindung her, indem eine Anforderung über den Port oder die Named Pipe der gewünschten Instanz an den Server gesendet wird.

Bearbeiten: Wenn Sie eine Verbindung mit MACHINENAME \ SQL2008 herstellen können, wenn Sie RDP-fähig zum Server sind, müssen Sie eine benannte Instanz verwenden. In diesem Fall lautet Ihre Verbindungszeichenfolge mit dem angegebenen Port "123.123.123.123 \ SQL2008,1433".

Mark Storey-Smith
quelle
1
Wenn Sie als Port angeben, wird InstanceName ignoriert. Es kann nur "123.123.123.123,19876" oder 123.123.123.123 \ AnyOldRubbish, 19876 "sein. Dies geschieht, weil ein Aufruf von Port 1434 zum
Auflösen von
Das wusste ich nicht. Macht Sinn, aber es hatte vorher nicht geklickt.
Mark Storey-Smith
0

Ich habe alles versucht, was gepostet wurde.

Aber letztendlich bestand meine Lösung darin, in SQL Server Configuration Manager -> SQL Server-Netzwerkkonfiguration -> Protokolle für SQL2012 zu wechseln (meine benannte Instanz ist SQL2012).

Doppelklicken Sie dann auf TCP / IP, klicken Sie auf die Registerkarte IP-Adressen, scrollen Sie nach unten zu IPALL und ändern Sie den TCP-Port in 1433.

Nach dem Neustart des SQL Server-Dienstes konnte ich nur eine Verbindung mit der IP des Servers herstellen.

Andrew Gale
quelle