Non riesco a collegarmi al database SQL dei miei server tramite un indirizzo IP


45

Ho installato un server che esegue Windows Server 2008 e in cui è installato SQL Server 2008 Express.

Posso connettermi al database SQL Server Express della macchina tramite MACHINENAME/SQLEXPRESS.

Tuttavia, quando arriviamo a connetterci tramite qualsiasi software o script utilizzando un indirizzo IP , non consentirà la connessione.

Ho provato:

  • Disattivazione del firewall.
  • Consentire connessioni remote per il database SQL.
  • Abilitazione di TCP / IP nella configurazione SQL.

Quando tentiamo di connetterci tramite il software "SQL Server Management Studio", viene visualizzato il seguente messaggio:

Messaggio di errore:

Si è verificato un errore durante la creazione di una connessione al server. Durante la connessione a SQL Server 2005, questo errore può essere causato dal fatto che in base alle impostazioni predefinite SQL Server non consente connessioni remote. (provider: provider TCP, errore: 0 - Impossibile stabilire una connessione perché il computer di destinazione l'ha rifiutata attivamente.) (Microsoft SQL Server, errore: 10061)

È stata stabilita una connessione con il server, ma si è verificato un errore durante il processo di accesso. (provider: provider TCP, errore: 0 - una connessione stabilita è stata interrotta dal software nel computer host.) (Microsoft SQL Server, errore: 10053)

Potete per favore fatemi sapere quando siete liberi in modo che possiamo dare un'occhiata perché mi sembra di sapere dove, ho modificato i dettagli secondo alcune informazioni che UK Fast mi ha inviato ma hanno detto "Non rientra nella competenza di supporto" , quindi non possono più aiutare.

Aspetto tue notizie.


Hai provato ad aggiungere il numero di porta durante la connessione?

Stai provando a connetterti a "192.168.0.1/SQLEXPRESS" (dove 192.168.0.1 è in realtà l' indirizzo IP del tuo server ) o stai omettendo il nome dell'istanza?
Rowland Shaw,

2
Stai davvero usando una barra rovesciata /e non una barra rovesciata `\`?
Aaron Bertrand

Risposte:


78

SQL Server è installato come istanza denominata, quindi prima di tutto provare a connettersi al server utilizzando il seguente nome del server: IP Address\SQLEXPRESS.
Quando si installa SQL Server come istanza denominata, per impostazione predefinita utilizza porte TCP / IP dinamiche, quindi non è possibile connettersi ad esso senza specificare il nome dell'istanza (solo indirizzo IP). Se è necessario connettersi al server senza utilizzare il nome dell'istanza, è necessario riconfigurare il server per utilizzare la porta TCP statica. Per farlo, procedi come segue:

  1. aprire Gestione configurazione SQL Server;
  2. passare a SQL Server Network Configuration | Protocols for SQLEXPRESS;
  3. fare doppio clic sul TCP/IPprotocollo;
  4. seleziona il Yesvalore nel Enabledcampo;
  5. passa alla IP Addressesscheda;
  6. trova la IPAllsezione;
  7. cancella il TCP Dynamic Portscampo in quella sezione;
  8. specifica il 1433valore nel TCP Portcampo:
    inserisci qui la descrizione dell'immagine
  9. riavvia il tuo server
    Prova a connetterti al tuo server usando solo il suo indirizzo IP.

7
Grazie per aver fornito tali informazioni, funziona perfettamente tranne una cosa. In sql management studio devo ancora fornire la porta per connettermi al server, come, xxxx \ instance, 1433. Penso che sia strano dato che sto usando la porta standard.
Tomas Jansson,

1
Ha funzionato per me, ad eccezione del contrario di quanto riportato da @TomasJansson: funziona in Management Studio senza un numero di porta, ma devo specificarne uno nella mia stringa di connessione anche se sto usando la porta predefinita (1433).
lpacheco,

Oltre all'ottima risposta di cui sopra, in SQL Server 2017 mi sono reso conto che non è possibile lasciare vuoto il campo della password dell'utente (soprattutto sa). Assicurati di avere una password impostata, altrimenti non si collegherà.
aLearner

USA netstat -a -b e trova sqlservr.exe e assicurati che la porta sia 1433. Non sempre. Altrimenti impazzirai.
jwize,

8

Dovresti abilitare, seguendo per me il problema risolto abilitando il seguito e il riavvio di tutti i servizi.

  • Memoria condivisa
  • TCP / IP
  • Tubi con nome

Tubi con nome di configurazione di SQL Server


8

Utilizzando SQL Server Express 2017, oltre alle risposte sopra, quando si tenta di connettersi utilizzando la porta, assicurarsi di utilizzare la sintassi della virgola , non la sintassi dei due punti, ad esempio:

 MyServerName,1433\InstanceName

Dopo aver lottato con quanto sopra per un paio d'ore, seguendo tutti i suggerimenti, e ancora non si è connesso, ho usato invece quanto sopra e si è connesso subito tramite SQL Server Management Studio da remoto. Un primo passo verso il successo.


1
Questo mi ha risolto (spostando la porta tra il nome del server e il nome dell'istanza). L'immissione della porta alla fine non ha funzionato.
Masospaghetti

1

Sono stato in grado di connettermi in remoto specificando esplicitamente il numero di porta dinamico, tuttavia questo non è ovviamente l'ideale.

Sembra che il problema fosse che il servizio SQL Server Browser era disabilitato. Una volta abilitato e avviato questo servizio, sono stato in grado di connettermi in remoto semplicemente specificando il nome host e il nome dell'istanza.


0

Basta aggiungere a ciò che è stato precedentemente detto. Ho avuto lo stesso problema di non riuscire a connettermi al server (client e server sullo stesso desktop) e ho eseguito tutti i passaggi elencati qui cercando di risolverlo. Tuttavia, alla fine ho scoperto quale fosse il problema. Tutto quello che dovevo fare era andare in SQL Server Management Studio e fare clic su "Servizi server SQL", quindi fare clic sul server a cui dovevo collegarmi. Quindi fare clic sul pulsante verde "Esegui". Non sono sicuro che questo fosse specifico per me dal momento che il mio computer era in esecuzione e accedendo al server, spero che possa aiutare chiunque altro là fuori!

Dove si trova il pulsante Esegui / Avvia


1
come mai questo commento è stato così sottovalutato? semplice e risolto il mio problema
Cavid Hummatov,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.