Di recente ho avuto lo stesso problema di connettività ad AWS/SQL Server, finalmente l'ho risolto.
La connessione a SQL Server in remoto su AWS implica 3 fattori principali:AWS --> Sicurezza di Windows --> Impostazioni/Sicurezza di SQL Server.
Le connessioni possono facilmente fallire perché ogni area ha requisiti specifici. Esaminerò la check-list:
AWS:
-
Nella console di gestione AWS, vai su Gruppi di sicurezza, fai clic sul gruppo che si applica al tuo server Windows, assicurati che la porta TCP 1433 di MS SQL sia aperta a 0.0.0.0 o all'IP del tuo client specifico. In caso contrario, dovrai aggiungerlo.
-
Prendi nota dell'IP pubblico del tuo server
FINESTRE:
- RDP al server Amazon Windows, Start> Strumenti di amministrazione> Politica di sicurezza locale
- Fai clic su Windows Firewall con sicurezza avanzata, Proprietà di Windows Firewall, fai clic sulla scheda "Profilo pubblico", imposta lo stato del firewall su "ON", In entrata su Blocca, In uscita su Consenti (o blocca a seconda dell'applicazione). OK.
- Espandi Windows Firewall (nel riquadro di sinistra), fai clic con il R sulla regola in entrata, fai clic su Nuova regola.
- Fai clic sull'opzione Porta, Avanti> , per TCP, inserisci 1433 Avanti>, Consenti la connessione, Avanti>, Avanti> , assegnagli un nome (SQL-PORT-ACCESS)
SERVER SQL:
- Accedi a SQL Server con SSMS (SQL Server Management Studio) utilizzando l'autenticazione predefinita di Windows.
- Nel riquadro di sinistra, fai clic con il pulsante destro del mouse sull'elenco dei server in alto (con l'icona del database, il primo elenco) e seleziona "Proprietà"
- Finestra Proprietà, fai clic su Sicurezza nel riquadro di sinistra, scegli "SQL Server e Windows Auth"
- Fai clic su Connessioni, seleziona l'opzione "Consenti connessioni remote"... Fai clic su OK.
- Apri SQL Configuration Manager, Start> Programmi> Microsoft SQL Server> Strumenti di configurazione> SQL Server Configuration Manager
- Configurazione di rete di SQL Server (Espandi), seleziona Protocolli per MSSQL, R-Click TCP , seleziona Proprietà (TCP dovrebbe essere abilitato)
- Fai clic sulla scheda Indirizzi IP, verifica che IP1 sia abilitato, Porte dinamiche sia 0, la porta TCP sia 1433
- Scorri fino alla sezione IPAll, inserisci 0 in TCP Dynamic Ports e 1433 in TCP Port. OK...
- Nel riquadro sinistro, fare clic su Servizi SQL Server, fare clic con il pulsante destro del mouse sull'opzione SQL Server e selezionare "Riavvia". (NOTA:il server SQL Browser non influisce sulla connettività, il servizio browser elenca solo i server disponibili, con il tuo parms di connessione, non c'è bisogno di avviare o preoccuparsi del browser)
TEST:non devi andare al tuo client remoto per testare, inizia provando a connetterti dalla stessa finestra SSMS sul server. Questo riduce tutte le altre cose che possono andare storte all'inizio, se riesci a connetterti qui, hai qualche conferma che funziona. Se non funziona dal tuo server, i problemi sono correlati alla sicurezza di Windows e alla sicurezza e configurazione di SQL.
- In Esplora oggetti (SQL Server Management Studio), fai clic su "Connetti"> Motore di database...
- Nel nome del server:inserisci il tuo IP PUBBLICO, una virgola, quindi
1433
. Esempio, se il tuo IP pubblico è54.4.4.4
, inserisci54.4.4.4,1433
, - Seleziona l'autenticazione come "SQL Server", inserisci l'utente di accesso e la password.
- Se stai usando "sa", ricordati di cambiare la password.
- Se la tua connessione funziona localmente, puoi provare la tua connessione client remota.
- A questo punto sai che il tuo server SQL e le impostazioni utente sono corrette.
Quindi, prova a utilizzare SSMS su un altro computer. Se fallisce, probabilmente il firewall ha bisogno di una seconda occhiata...
Un buon posto per capire i problemi, sono i registri SQL facilmente accessibili da SSMS, nel riquadro di sinistra, espandi Gestione, quindi Registri di SQL Server, il registro corrente elencherà tutti i problemi.
Quindi, queste sono tutte le parti coinvolte:mancane una e sarai frustrato, ma inizia riducendo i pezzi durante il test.
Sono riuscito a connettermi al mio database su AWS Windows Server/SQL Express da un dispositivo Windows...
Buona fortuna!