sql >> Database teknologi >  >> RDS >> Sqlserver

Kan ikke oprette forbindelse til AWS EC2 fra Visual Studio (eller hvor som helst faktisk)

Jeg havde for nylig det samme forbindelsesproblem til AWS/SQL Server, jeg har endelig fået det løst.

Fjernforbindelse til SQL Server på AWS involverer 3 hovedfaktorer:AWS --> Windows-sikkerhed --> SQL Server-indstillinger/sikkerhed.

Forbindelser kan nemt mislykkes, fordi hvert område har specifikke krav. Jeg gennemgår tjeklisten:

AWS:

  1. Gå til Sikkerhedsgrupper i AWS-styringskonsollen, klik på den gruppe, der gælder for din Windows-server, sørg for, at MS SQL TCP-port 1433 er åben til 0.0.0.0 eller din specifikke klient-IP. Hvis ikke, skal du tilføje det.

  2. Bemærk din servers offentlige IP

WINDOWS:

  1. RDP til Amazon Windows-serveren, Start> Administrative værktøjer> Lokal sikkerhedspolitik
  2. Klik på Windows Firewall med avanceret sikkerhed, Windows Firewall-egenskaber, klik på fanen "Offentlig profil", indstil Firewall-tilstand til "TIL", Indgående til blokering, Udgående for at tillade (eller bloker afhængigt af din applikation). OK.
  3. Udvid Windows Firewall (i venstre rude), R-klik på den indgående regel, klik på Ny regel.
  4. Klik på Port-indstillingen, Næste> , for TCP, indtast 1433 Næste>, Tillad forbindelsen, Næste>, Næste> , giv den et navn (SQL-PORT-ADGANG)

SQL-SERVER:

  1. Log på SQL Server med SSMS (SQL Server Management Studio) ved hjælp af standard Windows-godkendelse.
  2. R-klik på den øverste serverliste i venstre rude (med databaseikonet, den allerførste liste), og vælg "Egenskaber"
  3. Egenskaber vindue, klik på Sikkerhed i venstre rude, vælg "SQL Server og Windows Auth"
  4. Klik på Forbindelser, marker "Tillad fjernforbindelser"... Klik på OK.
  5. Åbn SQL Configuration Manager, Start> Programmer> Microsoft SQL Server> Konfigurationsværktøjer> SQL Server Configuration Manager
  6. SQL-servernetværkskonfiguration (udvid), vælg Protocols for MSSQL, R-Click TCP , vælg Egenskaber (TCP skal være aktiveret)
  7. Klik på fanen IP-adresser, tjek at IP1 er aktiveret, Dynamic Ports er 0, TCP-porten er 1433
  8. Rul hele vejen ned til IPAll-sektionen, indtast 0 i TCP Dynamic Ports og 1433 i TCP Port. OK...
  9. Tilbage i venstre rude, klik på, SQL Server Services, R-Klik på SQL Server-indstillingen, og vælg "Genstart".(BEMÆRK:SQL Browser-serveren påvirker ikke forbindelsen, browsertjenesten viser kun tilgængelige servere med dine specifikke forbindelse parms, ingen grund til at starte eller bekymre dig om browseren)

TEST:Du behøver ikke gå til din fjernklient for at teste, start med at prøve at oprette forbindelse fra det samme SSMS-vindue på serveren. Dette reducerer alle de andre ting, der kan gå galt i starten, hvis du kan oprette forbindelse her, har du en vis bekræftelse på, at det virker. Hvis det ikke virker fra din egen server, er problemerne relateret til Windows-sikkerhed og SQL-sikkerhed og opsætning.

  1. Under Object Explorer (SQL server Management Studio), klik på "Forbind"> Database Engine...
  2. I servernavnet:skal du indtaste din PUBLIC IP, et komma og derefter 1433 . Eksempel, hvis din offentlige IP er 54.4.4.4 , indtast 54.4.4.4,1433 ,
  3. Vælg godkendelsen som "SQL-server", indtast login-brugeren og adgangskoden.
    1. Hvis du bruger "sa", husk at ændre adgangskoden.
    2. Hvis din forbindelse fungerer lokalt, kan du prøve din fjernklientforbindelse.
  4. På dette tidspunkt ved du, at dine SQL-server- og brugerindstillinger er korrekte.

Prøv derefter at bruge SSMS på en anden computer. Hvis det mislykkes, har firewallen sandsynligvis brug for et andet kig...

Et godt sted at forstå problemer, er SQL-logfilerne, der er let tilgængelige fra SSMS. Udvid Administration i venstre rude, og derefter SQL Server-logfiler, den aktuelle log viser eventuelle problemer.

Så det er alle de involverede dele – gå glip af én, og du vil blive frustreret, men start med at reducere stykkerne, når du tester.

Jeg var i stand til at oprette forbindelse til min database på AWS Windows Server/SQL Express fra en Windows-enhed...

Held og lykke!




  1. MySQL vælg rækker, hvor dato ikke er mellem dato

  2. Problem med at bruge TEXT-feltet i mysql-tabel

  3. Frigør fordelene ved MariaDBs Certified Associate Program

  4. Hvordan interagerer vinduesfunktioner og gruppe efter klausul?