sql server express non ascolta sulla 1433
maggio 4th, 2008
Ma perchè anche le installazioni più “pulite” con i prodotti Microsoft possono nascondere inspiegabili errori/misteri?
Scenario: Macchina Virtuale con S.O. Windows Server 2003 italiano con ultimo livello di Service Pack, patch ed antivirus. Setup Microsoft SQL Server Express 2005 fresco fresco di download dal sito Microsoft, Setup Microsoft SQL Server 2005 Management Studio Express sempre scaricato dal sito Microsoft.
Al termine dell’installazione, che può essere più o meno personalizzata, ritenendo “poco professionale” installare il Management Studio su un server di futura produzione, decido di abilitare le connessioni remote al server Sql mediante l’utility “configurazione superficie di attacco”; avvio anche il servizio SQL Browser che dovrebbe garantire la visibilità del Server SQL appena installato dal client su cui installero il Management Studio… non so bene per quale motivo ma sembra che con la versione Express 2005, a differenza di quanto avveniva con la MSDE, SQL utilizzi un nuovo meccanismo di ascolto su porte dinamiche… (secondo me, per “risolvere” i noti problemi di sicurezza di SQL Server: invece di irrobustire il codice “evitano” la porta 1433 che i molteplici trojan e worm attaccano).
Torniamo all’errore… sicuro che l’abilitazione delle connessioni remote è stata presa in carico dall’SQL Server Express mi appresto a connettermi con l’account SA al server dal mio PC client dotato di Management Studio ed ecco che becco l’errore:
Sqlcmd: Errore : : SQL Native Client Microsoft un errore si è essere verificato mentre stabilisce una connessione al server. Quando si connette a SQL Server 2005, questo errore può venire determinato dal fatto che in base alle impostazioni predefinite, SQL Server non consente le connessioni remote.
Sbalordito dall’errore faccio una ricerca su google e trovo un articolo sulla kb Microsoft utile ma non troppo perchè senza averlo letto avevo già verificato che tutte le operazioni d’ installazione e configurazione effettuate erano già corrette. Trovo qualche altro post su forum ecc. dove consigliavano la disinstallazione e la reinstallazione per risolvere il problema… (metodo Microsoft!)
Dopo aver perso ulteriore tempo per cercare di comprendere l’assurdo motivo di questo errore decido, nonostante il mio scetticismo, a procedere come consigliato… incredibile… ha funzionato!
Non soddisfatto però dalla modalità di risoluzione del problema cerco di replicarlo in un nuovo ambiente tirato su da zero, questa volta però mi accorgo che in corrispondenza dell’avvio del servizio SQL Browser (a seguito della configurazione delle connessioni remote) viene fuori un evento di warning:
La configurazione del protocollo AdminConnection\TCP nell’istanza SQL SQLEXPRESS non è valida.
mah/bha/bho installazione di default su un ambiente nuovo, pulito, patchato ecc. come si fà a giustificare un errore del genere? Ed ecco che tornano in discussione le sopracitate porte dinamiche!
Soluzione:
Il caro e buon vecchio regedit torna sempre utile… per far si che SQL Server Express resti in ascolto sulla 1433 con connessioni remote attive occorre:
1) configurare l’accesso remoto come meglio descritto quì
2) configurare il protocollo tcpip dallo strumentoSQL Server Configuration Manager, avendo cura di specificare la porta 1433 per ogni interfaccia di rete su cui volete che SQL Server sia in ascolto ed avendo cura di rimuovere qualsiasi valore dalla sezione porte dinamiche TCP
3) con regedit editare nel seguente percorso HKEY_LOCAL_MACHINE->Software->Microsoft->Microsoft SQL Server->MSSQL.1->MSSQLServer->SuperSocketNetLib->AdminConnection->Tcp
il valore della chiave TcpDynamicPorts impostandolo su 1434
Magicamente non ci saranno più errori e con un netstat potrete verificare che SQL Server è in ascolto sulla 1433 e che, finalmente, sarà possibile connettersi da remoto all’istanza SQL Server.
…Mai avuti questo genere di problematiche con l’ottimo ed open-source MySQL
Entry Filed under: howto
2 Comments
1. [MYSQL] Soluzione definit&hellip | settembre 21st, 2008 at 3:02 pm
[...] più c’è anche un trucco da utilizzare tramite REGEDIT. Static Port Assignments in SQL Server 2005 Luciano Talarico sql server express non ascolta sulla 1433 Spero che sia utile perchè io ci avevo veramente perso le [...]
2. Errore in SQL Server | hi&hellip | gennaio 18th, 2009 at 2:30 pm
[...] Re: Errore in SQL Server > avvio o controllo (da Eventi: La configurazione del protocollo > AdminConnectionTCP dell’istanza SQL SQLEXPRESS non è valida) su google ho trovato questo : La configurazione del protocollo AdminConnectionTCP nell’istanza SQL SQLEXPRESS non è valida. Soluzione: per far si che SQL Server Express resti in ascolto sulla 1433 con connessioni remote attive occorre: http://www.luciano.talarico.it/sql-s…ta-sulla-1433/ [...]
Trackback this post