Jag hade nyligen samma anslutningsproblem till AWS/SQL Server, jag har äntligen löst det.
Att ansluta till SQL Server på distans på AWS involverar tre huvudfaktorer:AWS --> Windows-säkerhet --> SQL Server-inställningar/säkerhet.
Anslutningar kan lätt misslyckas eftersom varje område har specifika krav. Jag går igenom checklistan:
AWS:
-
I AWS-hanteringskonsolen, gå till Säkerhetsgrupper, klicka på gruppen som gäller din Windows-server, se till att MS SQL TCP-port 1433 är öppen för 0.0.0.0 eller din specifika klient-IP. Om inte, måste du lägga till det.
-
Notera den offentliga IP-adressen för din server
WINDOWS:
- RDP till Amazon Windows-servern, Start> Administrativa verktyg> Lokal säkerhetspolicy
- Klicka på Windows-brandväggen med avancerad säkerhet, Windows-brandväggsegenskaper, klicka på fliken "Public Profile", ställ in Brandväggsstatus på "PÅ", Inkommande till blockering, Utgående för att tillåta (eller blockera beroende på ditt program). OK.
- Utöka Windows-brandväggen (till den vänstra rutan), R-klicka på inkommande regel, klicka på Ny regel.
- Klicka på Port-alternativet, Nästa> , för TCP, ange 1433 Nästa>, Tillåt anslutningen, Nästa>, Nästa> , ge den ett namn (SQL-PORT-ACCESS)
SQL-SERVER:
- Logga in på SQL Server med SSMS (SQL Server Management Studio) med Windows-autentiseringens standard.
- På den vänstra rutan, R-klicka på den översta serverlistan (med databasikonen, den allra första listan) och välj "Egenskaper"
- Fönstret Egenskaper, klicka på Säkerhet i den vänstra rutan, välj "SQL Server och Windows Auth"
- Klicka på Anslutningar, markera alternativet "Tillåt fjärranslutningar" ... Klicka på OK.
- Öppna SQL Configuration Manager, Start> Program> Microsoft SQL Server> Konfigurationsverktyg> SQL Server Configuration Manager
- SQL Server Network Configuration (Expandera), välj Protocols for MSSQL, R-Click TCP , välj Properties (TCP ska vara aktiverat)
- Klicka på fliken IP-adresser, kontrollera att IP1 är aktiverat, Dynamic Ports är 0, TCP-porten är 1433
- Bläddra hela vägen ner till avsnittet IPAll, ange 0 i TCP Dynamic Ports och 1433 i TCP Port. OK...
- Tillbaka i den vänstra rutan, klicka på, SQL Server Services, R-Klicka på SQL Server-alternativet och välj "Starta om".(OBS:SQL Browser-servern påverkar inte anslutningen, webbläsartjänsten listar bara tillgängliga servrar, med din specifika anslutning parms, du behöver inte starta eller oroa dig för webbläsaren)
TESTNING:Du behöver inte gå till din fjärrklient för att testa, börja med att försöka ansluta från samma SSMS-fönster på servern. Detta minskar alla andra saker som kan gå fel till en början, om du kan ansluta här har du en viss bekräftelse på att det fungerar. Om det inte fungerar från din egen server är problemen relaterade till Windows-säkerhet och SQL-säkerhet och inställningar.
- Under Objektutforskaren (SQL server Management Studio), klicka på "Anslut"> Databasmotor...
- I servernamnet:anger du din PUBLIC IP, ett kommatecken och sedan
1433
. Exempel, om din offentliga IP är54.4.4.4
, ange54.4.4.4,1433
, - Välj autentiseringen som "SQL-server", ange inloggningsanvändaren och lösenordet.
- Om du använder "sa", kom ihåg att ändra lösenordet.
- Om din anslutning fungerar lokalt kan du prova din fjärrklientanslutning.
- Vid det här laget vet du att din SQL-server och användarinställningar är korrekta.
Prova sedan att använda SSMS på en annan dator. Om det misslyckas behöver brandväggen förmodligen en andra titt...
Bra ställe att förstå problem, är SQL-loggarna lättillgängliga från SSMS, expandera Management i den vänstra rutan, sedan SQL Server-loggar, aktuell logg kommer att lista eventuella problem.
Så det är alla delar som är inblandade -- missa en och du kommer att bli frustrerad, men börja med att minska bitarna när du testar.
Jag kunde ansluta till min databas på AWS Windows Server/SQL Express från en Windows-enhet...
Lycka till!