Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Kann keine Verbindung zu AWS EC2 von Visual Studio (oder eigentlich irgendwo) herstellen

Ich hatte kürzlich das gleiche Verbindungsproblem mit AWS/SQL Server, ich habe es endlich gelöst.

Die Remoteverbindung mit SQL Server auf AWS umfasst 3 Hauptfaktoren:AWS --> Windows-Sicherheit --> SQL Server-Einstellungen/Sicherheit.

Verbindungen können leicht fehlschlagen, da jeder Bereich spezifische Anforderungen hat. Ich gehe die Checkliste durch:

AWS:

  1. Gehen Sie in der AWS-Verwaltungskonsole zu Sicherheitsgruppen, klicken Sie auf die Gruppe, die für Ihren Windows-Server gilt, und stellen Sie sicher, dass MS SQL TCP-Port 1433 für 0.0.0.0 oder Ihre spezifische Client-IP geöffnet ist. Wenn nicht, müssen Sie es hinzufügen.

  2. Notieren Sie sich die öffentliche IP Ihres Servers

WINDOWS:

  1. RDP zum Amazon Windows-Server, Start> Verwaltung> Lokale Sicherheitsrichtlinie
  2. Klicken Sie auf „Windows-Firewall mit erweiterter Sicherheit“, „Eigenschaften der Windows-Firewall“, klicken Sie auf die Registerkarte „Öffentliches Profil“, setzen Sie den Firewall-Status auf „EIN“, „Eingehend“ auf „Blockieren“, „Ausgehend auf „Zulassen“ (oder je nach Anwendung blockieren). Okay.
  3. Erweitern Sie die Windows-Firewall (im linken Bereich), klicken Sie mit der rechten Maustaste auf die Eingangsregel, klicken Sie auf Neue Regel.
  4. Klicken Sie auf die Option Port, Weiter>, geben Sie für TCP 1433 ein. Weiter>, Verbindung zulassen, Weiter>, Weiter>, geben Sie ihr einen Namen (SQL-PORT-ACCESS)

SQL-SERVER:

  1. Melden Sie sich bei SQL Server mit SSMS (SQL Server Management Studio) mit der Standard-Windows-Authentifizierung an.
  2. Klicken Sie im linken Bereich mit der rechten Maustaste auf die oberste Serverliste (mit dem Datenbanksymbol, der allerersten Liste) und wählen Sie „Eigenschaften“
  3. Eigenschaftenfenster, klicken Sie im linken Bereich auf Sicherheit, wählen Sie "SQL Server and Windows Auth"
  4. Klicken Sie auf Verbindungen, aktivieren Sie die Option "Remoteverbindungen zulassen" ... Klicken Sie auf OK.
  5. Öffnen Sie den SQL-Konfigurationsmanager, Start> Programme> Microsoft SQL Server> Konfigurationstools> SQL Server-Konfigurationsmanager
  6. SQL Server-Netzwerkkonfiguration (erweitern), wählen Sie Protokolle für MSSQL, R-Click TCP, wählen Sie Eigenschaften (TCP sollte aktiviert sein)
  7. Klicken Sie auf die Registerkarte IP-Adressen, prüfen Sie, ob IP1 aktiviert ist, Dynamische Ports 0 sind, TCP-Port 1433 ist
  8. Scrollen Sie ganz nach unten zum Abschnitt IPAll, geben Sie 0 in TCP Dynamic Ports und 1433 in TCP Port ein. Okay...
  9. Klicken Sie im linken Bereich auf SQL Server-Dienste, klicken Sie mit der rechten Maustaste auf die Option SQL Server und wählen Sie „Neu starten“. Verbindungsparameter, keine Notwendigkeit, den Browser zu starten oder sich um ihn zu kümmern)

TESTEN:Sie müssen zum Testen nicht zu Ihrem Remote-Client gehen. Versuchen Sie zunächst, eine Verbindung über dasselbe SSMS-Fenster auf dem Server herzustellen. Dies reduziert all die anderen Dinge, die zunächst schief gehen können. Wenn Sie sich hier verbinden können, haben Sie eine Bestätigung, dass es funktioniert. Wenn es von Ihrem eigenen Server aus nicht funktioniert, hängen die Probleme mit der Windows-Sicherheit und der SQL-Sicherheit und -Einrichtung zusammen.

  1. Klicken Sie im Objekt-Explorer (SQL Server Management Studio) auf "Verbinden"> Datenbankmodul...
  2. Geben Sie unter Servername:Ihre öffentliche IP-Adresse, ein Komma und dann 1433 ein . Beispiel, wenn Ihre öffentliche IP-Adresse 54.4.4.4 ist , geben Sie 54.4.4.4,1433 ein ,
  3. Wählen Sie die Authentifizierung als "SQL Server", geben Sie den Login-Benutzer und das Passwort ein.
    1. Wenn Sie "sa" verwenden, denken Sie daran, das Passwort zu ändern.
    2. Wenn Ihre Verbindung lokal funktioniert, können Sie Ihre Remote-Client-Verbindung ausprobieren.
  4. An diesem Punkt wissen Sie, dass Ihr SQL-Server und Ihre Benutzereinstellungen korrekt sind.

Versuchen Sie als Nächstes, SSMS auf einem anderen Computer zu verwenden. Wenn das fehlschlägt, braucht die Firewall wahrscheinlich einen zweiten Blick...

Ein guter Ort, um Probleme zu verstehen, sind die SQL-Protokolle, auf die Sie von SSMS aus leicht zugreifen können. Erweitern Sie im linken Bereich Verwaltung, dann SQL Server-Protokolle, das aktuelle Protokoll listet alle Probleme auf.

Das sind also alle beteiligten Teile -- übersehen Sie einen und Sie werden frustriert sein, aber beginnen Sie damit, die Teile beim Testen zu reduzieren.

Ich konnte von einem Windows-Gerät aus eine Verbindung zu meiner Datenbank auf AWS Windows Server/SQL Express herstellen...

Viel Glück!