Dopo avere installato SQL Server Express sul server e averlo configurato è necessario impostare i servizi affinché possano essere utilizzati in rete dai diversi client. Verificare sul server che la connessione sia attiva e funzionante (Nome server = “Nome del computer\SQLEXPRESS”)
Creare un utente di Login
Se l’installazione è stata fatta impostando ”Authentication mode” su “Windows Authentication” o comunque per differenziare i diversi utenti e i relativi permessi occorre creare uno più login.
Entrare in SQL Server Management Studio e connettersi al database, aprire la voce Security (o Protezione), tasto destro su Login (o Account di Access) , quindi New Login (o Nuovo account di accesso).
Nella schermata che si apre fare attenzione ai seguenti punti
- inserire il nome dell’utente
- impostare autenticazione di SQL Server inserendo una password , meglio se complessa
- configurare le policy di accesso ai vari database
- abilitare l’accesso da remoto
Connessione da remoto
Per tentare di connettersi da remoto monitorando eventuali problemi , installare SQL Server Management Studio anche su un client e provare ad accedere.
Quando si tenta di connettersi a un’istanza di Microsoft SQL Server da un computer remoto, si potrebbe ricevere un messaggio di errore. Questo problema può verificarsi anche quando si utilizza qualsiasi programma per la connessione a SQL Server.
Ad esempio, viene visualizzato il seguente messaggio di errore quando si utilizza l’utilità SQLCMD per connettersi a SQL Server:
Sqlcmd: Errore: Client nativo di Microsoft SQL: si è verificato un errore nel tentativo di stabilire una connessione al server. Quando ci si connette a SQL Server 2005, questo errore può essere causato dal fatto che, in base alle impostazioni predefinite di SQL Server non consente le connessioni remote.
Questo problema può verificarsi quando SQL Server non è configurato per accettare le connessioni remote. Per impostazione predefinita, SQL Server Express Edition e SQL Server Developer Edition non consentono le connessioni remote.
Per configurare SQL Server per consentire le connessioni remote, è necessario completare la procedura seguente:
· Abilitare le connessioni remote sull’istanza di SQL Server che si desidera connettersi da un computer remoto.
· Attivare il servizio SQL Server Browser.
· Configurare il firewall per consentire il traffico di rete correlato a SQL Server e per il servizio SQL Server Browser.
Di seguito viene descritto come completare ciascuna di queste operazioni accedendo al Configuration Manager di SQL Server.
1) Abilitare le connessioni remote sull’istanza di SQL Server che si desidera connettersi da un computer remoto
È necessario attivare le connessioni remote per ogni istanza di SQL Server che si desidera connettersi da un computer remoto. Per effettuare questa operazione, attenersi alla seguente procedura:
- Fare clic su Start, scegliere programmi, quindi Microsoft SQL Server, Configuration Tools ( o Strumenti) di configurazione e quindi fare clic su SQL Server Configuration Manager ( o Configurazione superficie di attacco di SQL Server).
- Una volta aperta la schermata di configurazione, espandere il nodo SQL Server Network Configuration (o Configurazione superficie di attacco per servizi e connessioni).
- Selezionare Protocols for <nome istanza> ( o protocolli per ..).
- Tasto destro su TCP/IP , quindi Abilita. Veniamo avvisati che il servizio deve essere riavviato.
- Selezionare SQL Server Services (o Servizi di SQL Server)
- Tasto destro su SQL Server <nome istanza> (o SQL Server ..). Riavviare il servizio ( Interrompi, Avvia )
2) Attivare il servizio SQL Server Browser
- Seguendo la stessa procedura precedente entrare nella funzione di Configurazione.
- Selezionare SQL Server Services.
- Tasto destro su SQL Server Browser , selezionare Properties.
- Nella schermata di configurazione che si apre selezionare la tab Services , selezionare Automatico coma Modalità di avvio e confermare
- Tasto destro su SQL Server Browser , selezionare Start.
In alternativa il servizio SQL Server può essere attivato anche da pannello di controllo.
3) Configurare il firewall per consentire il traffico di rete correlato a SQL Server e per il servizio SQL Server Browser
Se si utilizza un firewall nel computer in cui è in esecuzione SQL Server, vengono bloccate le connessioni esterne a SQL Server, a meno che SQL Server e il servizio SQL Server Browser in grado di comunicare attraverso il firewall. È necessario creare un’eccezione per ogni istanza di SQL Server che si desidera accettare le connessioni remote e un’eccezione per il servizio SQL Server Browser.
In buona sostanza occorre consentire l’esecuzione di sqlservr.exe, sqlbrowser.exe e della porta 1434. Ma qualora non sia sufficiente si può pensare a permettere tutte le esecuzioni in rete locale consentendo tutte le operazioni sul profilo di dominio e sul profilo privato
Le operazioni per creare le eccezioni dipendono dal firewall usato. Di seguito un esempio con Windows Firewall.
Per consentire tutte le attività su rete locale
- accedere a alla configurazione di Windows firewall
- Selezionare Proprietà Windows Firewall
- Consentire l’esecuzione in entrata sul profilo di dominio e sul profilo privato
Se invece si vuole creare delle regole per abilitare solo l’esecuzione dei servizi di SQL Server :
1. In Windows Firewall, fare clic sulla scheda eccezioni e quindi fare clic su Aggiungi programma.
2. Nella finestra Aggiungi finestra di un programma, fare clic su Sfoglia.
3. Selezionare il programma di cui si vuole consentire l’esecuzione, fare clic su Apri e quindi fare clic su OK.
4. Ripetere l’operazione per le altre eccezioni.
Problemi di connessione
Se persistono problemi di connessione a SQL Server anche dopo avere configurato correttamente si provi ad eseguire SQL Server Management Studio e tentare la connessione.
Se è possibile raggiungere il servizio di rete , quando si tenta il login si dovrebbe vedere il nome del server nella tab dei server di rete. Qualora non fosse presente è probabile che la configurazione non sia corretta.
Se di digita il nome del server del server e si tenta comunque la connessione, verrà ritornato un errore che potrà dare qualche indicazione in più.
error: 18456 – Login Failed
Il database viene raggiunto ma probabilmente :
Abbiamo digitato male la password
L’utente non ha i diritti di accedere al database. Riverificare la configurazione del login
error: 28 – Server doesn’t support requested protocol
Veniamo informati che il protocollo non è stato abilitato pertanto occorre “Abilitare le connessioni remote sull’istanza di SQL Server che si desidera connettersi da un computer remoto” come visto al punto 1 della configurazione
error: 26 – Error Locating Server/Instance Specified
Veniamo informati che il server indicato non è stato trovato. E’ probabile che il punto 2 o il punto 3 della configurazione non siano stati eseguiti correttamente tuttavia provare anche
- Verificare che il nome sia stato digitato correttamente (è banale ma il più delle volte capita questo)
- Provare a digitare nome del server e istanza separati da sia una sola barra sia da due (provare sia Server\Instance che Server\\Instance)
- Provare a fare il ping del server dal client per verificare che sia raggiungibile
- Verificare che il servizio SQL Browser sia attivo sul server (punto 2 della configurazione)
- Verificare che se il firewall sul server è attivo, le eccezioni siano configurate correttamente (punto 3 della configurazione) e nel caso provare a consentire tutte le operazioni sulla rete locale o disattivare il firewall.