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.