Piattaforma Applicativa Gestionale Microsoft SQL Server 2000 Sql Express Problemi di connessione
COPYRIGHT 2000-2008 by ZUCCHETTI S.p.A. Tutti i diritti sono riservati. Questa pubblicazione contiene informazioni protette da copyright. Nessuna parte di questa pubblicazione può essere riprodotta, trascritta o copiata senza il permesso dell autore. TRADEMARKS Tutti i marchi di fabbrica sono di proprietà dei rispettivi detentori e vengono riconosciuti in questa pubblicazione. ZUCCHETTI S.p.A. Sede Operativa di Aulla E-mail: market@zucchetti.it Sito Web: http://www.zucchetti.it
AD HOC REVOLUTION - PROBLEMATCHE DI CONNESSIONE Indice 1 Problematiche di connessione...1 1 Sql Server 2005 Sql Express... 1 3 Visibilità Server Dati...1 11 Protocolli di Comunicazione...1 12 Login Mode...1 14 Attivazione Servizio...1 16 ODBC...1 17 Problemi con Windows XP SP2...1 20 Problemi con Windows 2003 Server...1 22 INDICE III
PROBLEMATCHE DI CONNESSIONE - AD HOC REVOLUTION IV INDICE
AD HOC REVOLUTION - PROBLEMATCHE DI CONNESSIONE 1 Problematiche di connessione Sql Server 2005 Sql Express Visibilità Server Dati Protocolli di comunicazione Login Mode Attivazione Servizio ODBC Problemi con Windows XP SP2 Problemi con Windows 2003 Server PROBLEMATICHE DI CONNESSIONE 1 1
PROBLEMATCHE DI CONNESSIONE - AD HOC REVOLUTION Introduzione In questo manuale saranno fornite le principali soluzioni ai problemi di connessione che si possono verificare utilizzando database Sql Server 7/2000/2005/Express o MSDE 2000/1.0, da qui identificati indistintamente come MSSQL. 1 2 PROBLEMATICHE DI CONNESSIONE
AD HOC REVOLUTION - PROBLEMATCHE DI CONNESSIONE Sql Server 2005 Sql Express Abilitare SQL Server Express Le problematiche di connessione relative a Sql Express riguardano principalmente le abilitazioni e alcune differenze sulla configurazione della porta di comunicazione e i protocolli.rispetto alle versioni precedenti di Sql Di seguito riportiamo i passaggi da eseguire per la configurazione del Server. Dal menù di avvio selezionare: Fig. 1-1- Come raggiungere SQL Server Configuration Manager Lanciare SQL Server Configuration Manager. Da qui, come mostrato in figura, attivare i protocolli di rete disponibili. A seguito dell attivazione il server dovrà essere riavviato. Fig. 1-2 Attivazione del protocollo TCP-IP Microsoft SQL Server Express non supporta i protocolli di rete Banyan VINES Sequenced Packet Protocol (SPP), Multiprotocol, AppleTalk e NWLink IPX/SPX. È necessario modificare i client che in precedenza utilizzavano questi protocolli per la connessione a SQL Server Express. PROBLEMATICHE DI CONNESSIONE 1 3
PROBLEMATCHE DI CONNESSIONE - AD HOC REVOLUTION Per riavviare il server, è sufficiente, come da figura, selezionare Riavvia sul servizio di SQL Server. Fig. 1-3 Riavviare il servizio di SQL Server Express Attenzione, se si sta utilizzando un'istanza SQL Server Express e non viene specificata una porta TCP/IP all'interno dell alias utilizzato per il server, non sarà ugualmente possibile accedere al server SQL. Si può ricorrere, a questo punto, al servizio SQL Server Browser che, una volta abilitato, si occuperà di comunicare al Client su quale porta del PC Server è abilitato l'ascolto (di solito la 1433). 1 4 PROBLEMATICHE DI CONNESSIONE
AD HOC REVOLUTION - PROBLEMATCHE DI CONNESSIONE Se si desidera, si può impostare un numero di porta fisso per il protocollo TCP/IP. Per farlo, all interno dei protocolli per SQL Server, selezionando TCP/IP proprietà. Tra queste Porte dinamiche TCP ; se impostata a un numero diverso da 0, significa che SQL Server è in ascolto sulla porta con quel numero. Impostare un numero di porta fisso, riduce la sicurezza del sistema contro accessi esterni indesiderati. Il numero impostato va riportato su ogni client, al momento della definizione dell ODBC, creando un alias. Fig. 1-4 Proprietà protocollo TCP/IP Per creare un alias sul Client, o nella vecchia Client Network Utility (Clicongf.exe) oppure nella nuova sotto Configurazione SQL Native Client, accedere alle voci Alias. Da qua si crea un nuovo alias con il nome del server (o suo indirizzo TCP/IP), come protocollo TCP/IP ed infine il numero porta impostato sul server.. Fatto questo, se il sistema operativo sul quale gira il server prevede un firewall, occorre o disattivare il firewall oppure gestire come eccezione la porta TCP/IP sul quale il server è in ascolto. Se il numero porta TCP/IP è dinamico, è necessario attivare il servizio SQL Server Browser, se si vuole mantenere attivo il Firewall, poiché il numero di porta di ascolto di SQL Server varia ad ogni riavvio. Utilizzando Named Pipe non occorre agire sul Firewall. PROBLEMATICHE DI CONNESSIONE 1 5
PROBLEMATCHE DI CONNESSIONE - AD HOC REVOLUTION Una volta attivati i protocolli, occorre aprire la Configurazione di Superficie di Attacco di SQL Server Fig. 1-5 Come raggiungere la Configurazione di Superficie di Attacco di SQL Server Fig. 1-6 Configurazione superficie di attacco Su questa maschera, selezionare Configurazione superficie di attacco per servizi e connessioni 1 6 PROBLEMATICHE DI CONNESSIONE
AD HOC REVOLUTION - PROBLEMATCHE DI CONNESSIONE Fig. 1-7 - Gestione protezione sulle connessioni Le impostazioni in figura abilitano SQL Server ad accettare connessioni sia da Named Pipe che da TCP/IP. Le modifiche svolte avranno effetto al riavvio di SQL Server Express. Autenticazione tramite Sistem Administrator (sa) Se eseguita correttamente l installazione come da manuale, dovrebbe essere già abilitata la possibilità di accedere al database tramite autenticazine mista e cioè sia tramite login e password di rete, sia tramite utente di Sql tipicamente Sistem Administrator (sa). In alcuni casi però quest ultima possibilità potrebbe essere disabilitata. Per attivarla entrare nel Management Studio Express. Quindi accedere alle proprietà del server e selezionare sulla sinistra la voce Security. In questa sezione abilitare quindi Sql Server e Windows autentication mode come da immagine. PROBLEMATICHE DI CONNESSIONE 1 7
PROBLEMATCHE DI CONNESSIONE - AD HOC REVOLUTION Fig. 1-8 - Impostazione autenticazione mista Inoltre potrebbe essere disabilitato l utente SA come utente del server oppure definita la password. Quindi entrare in Security->Login del server e selezionare l utente SA ed entrare nelle sue proprietà. Nella pagina general è possibile indicare la password. Nalla pagina status invece è possibile abilitare o disabilitare l utente come da immagini. Fig. 1-9 - Impostazione password su SA 1 8 PROBLEMATICHE DI CONNESSIONE
AD HOC REVOLUTION - PROBLEMATCHE DI CONNESSIONE Fig. 1-9 - Abilitare utente SA PROBLEMATICHE DI CONNESSIONE 1 9
PROBLEMATCHE DI CONNESSIONE - AD HOC REVOLUTION Connessione client stringa di connessione La connessione del client può avvenire, come per Sql 2000, tramite stringa di connessione considerando però che Sql Express richiede la password obbligatoria, quindi, deve essere impostata nella stringa di connessione la stessa password indicata in installazione. Per riferimenti in merito controllare il manuale di installazione Sql Server Express Il formato della stringa di connessione, da impostare sul file Cp3Start.Cnf, sarà quindi la stessa di Sql 2000 con la differenza che la password deve essere indicata obbligatoriamente. Consigliamo di utilizzare sempre la stringa di connessione per avere una connessione più flessibile e per essere indipendenti dai driver Odbc che in alcuni casi creano problemi di compatibilità con il sistema operativo. Connessione client origine dati Odbc Se si vuole procedere con la connessione tramite origine dati Odbc, occorre specificare che con Sql Express è stato inserito un nuovo driver Odbc: Sql Native Client. Con questo driver la visibilità del server è diretta. Il server Sql Express è rintracciabile, se eseguita l installazione come da manuale, con il nome di MACCHINASERVER\SQLEXPRESS. Utilizzando invece i driver Odbc Sql Server non viene visualizzato nell elenco dei server l istanza sopra indicata. Comunque, se digitata a mano, funziona correttamente. Fig. 1-10 - Origine dati Odbc Sql Native Client L installazione di Sql Native Client è presente tra i programmi preinstallati da Sql Express, che quindi installa i driver per la connessione nella macchina server. Nei client invece è installabile tramite il file sqlncli_it.msi presente nel cd di installazione della Release 5.0 in Ahr\Express\Native\. 1 10 PROBLEMATICHE DI CONNESSIONE
AD HOC REVOLUTION - PROBLEMATCHE DI CONNESSIONE Visibilità Server Dati Impossibile effettuare la connessione La prima verifica da effettuare nel caso in cui non si riesce a connettersi con il database, è quella di controllare se il Client su cui si sta lavorando vede il Server Dati. La prova più semplice è quella di eseguire da Menù Avvio->Esegui: \\Nome_ServerDati Nel caso in cui non venga visualizzato il contenuto del Server Dati, significa che esiste un problema di Rete. In questo caso si può provare ad eseguire un Ping verso il Server per capire se almeno il collegamento fisico tra Client e Server Dati è attivo. Il ping si può eseguire sempre da Menù Avvio- >Esegui. Nel caso il Ping dia esito positivo, il problema sta probabilmente nei settaggi della Rete, altrimenti non esiste fisicamente il collegamento con il Server. Sintassi PING PING <Indirizzo IP> PROBLEMATICHE DI CONNESSIONE 1 11
PROBLEMATCHE DI CONNESSIONE - AD HOC REVOLUTION Protocolli di Comunicazione Nel caso in cui la connessione di rete sia corretta, le problematiche potrebbero derivare dai protocolli di comunicazione tra Client e Server.. Occorre quindi verificare che il Client ed il server abbiano in comune almeno un protocollo. Quindi ad esempio se il Server ascolta solo su TCP/IP, ed il client comunica tramite Named Pipes, sebbene esista una connessione di rete attiva tra i due il client sarà impossibilitato ad accedere al server. Per controllare su quali protocolli comunicano le due macchine basterà eseguire sul client Menù Avvio -> Esegui: CLICONFG Con questo comando verrà aperto il Client Network Utility con il quale si possono definire i protocolli di comunicazione utilizzati dal Client ed anche i possibili Alias con i quali sono visibili i vari MSSQL presenti sulla rete. L Alias dà al client la possibilità di diversificare i protocolli utilizzati in base al server con il quale desidera connettersi. Di norma si imposta TCP/IP come primo protocollo utilizzato. Fig. 1-11 Client Network Utility Una volta impostato il protocollo utilizzato, controllare se sono stati definiti Server Alias. In questo caso eliminare tutte le definizioni di Alias o controllare che le definizioni siano corrette. 1 12 PROBLEMATICHE DI CONNESSIONE
AD HOC REVOLUTION - PROBLEMATCHE DI CONNESSIONE Fig. 1-12 Client Network Utility - Alias Eseguire quindi gli stessi controlli sulla macchina server lanciando però SVRNETCN al posto di CLICONFG. Impostando quindi come protocollo di ascolto lo stesso impostato sul Client. Fig. 1-13 Server Network Utility Allo stesso tempo controllare anche che il Service Manager su MSSQL sia attivato (freccia verde sull icona di Sql Server nella Toolbar delle applicazioni attive). PROBLEMATICHE DI CONNESSIONE 1 13
PROBLEMATCHE DI CONNESSIONE - AD HOC REVOLUTION Login Mode E opportuno controllare che tipo di autenticazione accetta il Server, e quindi se si può accedere con autenticazione NT o autenticazione Sql (SA). Questa impostazione viene definita nel Registro di Sistema del Server alla voce: HKEY_LOCAL_MACHINE-> SOFTWARE-> MICROSOFT->MSSQL SERVER->MSSQL SERVER In questa cartella è presente la proprietà LoginMode. In Dati Valore deve essere impostato: - 1 : Autenticazione Windows, se si accede a MSSQL come utente Nt, (esempio DOMINIO\UTENTE) - 0 : Autenticazione Mista se si accede a MSSQL sia come utente Sql (Es. Sa) che come utente di dominio Windows. Genericamente con MSSQL si accede con utente sql (SA) e quindi si imposta valore 0. Ad esempio se si tenta di entrare come sa in un MSSQL con autenticazione NT si riceve un errore come in figura 2.4. Fig. 1-14 Login Mode Errato In alcuni casi potrebbe essere stata impostata la Password per login Sa. Verificare quindi che la password della login Sa sia corretta. Fig. 1-15 Specificata nella connessione una Password diversa da quella su Utente Sa Per modificare la Password su utente Sa si possono lanciare i seguenti comandi da query analyser o da Osql: sp_password @new='prova',@loginame='sa' per impostare la Password Prova su utente Sa sp_password @old='prova',@new='',@loginame='sa' per togliere la Password da Utente Sa. Nel caso si conosca la Password precedente 1 14 PROBLEMATICHE DI CONNESSIONE
AD HOC REVOLUTION - PROBLEMATCHE DI CONNESSIONE (Es.: @old='prova') Oppure se non si conosce la Password precedente lanciare da Prompt del DOS: OSQL -E -Q"EXEC sp_password NULL, '', 'sa' " PROBLEMATICHE DI CONNESSIONE 1 15
PROBLEMATCHE DI CONNESSIONE - AD HOC REVOLUTION Attivazione Servizio In alcuni casi può capitare che non si riesca ad attivare il servizio di Service Manager né automaticamente né manualmente. Il problema può essere causato dall attivazione dell impostazione di Account di Rete nel servizio di MSSQLSERVER. Può capitare infatti che modificando la password di accesso alla rete, il Service Manager non venga avviato. Per correggere queste impostazioni occorre entrare su Pannello di Controllo->Strumenti di Amministrazione->Servizi. Selezionare MSSQLSERVER. Nella pagina Connessione, se attivato Account, impostare la Login e la Password attuali di accesso alla rete. In alternativa attivare Account di Sistema Locale e queste impostazioni vengono utilizzate automaticamente (consigliamo di utilizzare questo tipo di connessione). Fig. 1-16 Proprietà di MSSQLSERVER 1 16 PROBLEMATICHE DI CONNESSIONE
AD HOC REVOLUTION - PROBLEMATCHE DI CONNESSIONE ODBC Se con Ad Hoc Revolution non si riesce ancora ad accedere al database, il problema potrebbe essere dato dall ODBC. Accedere quindi all ODBC utilizzata per connettersi al Database di Ad Hoc Revolution ed eseguire il test di connessione. Se il test di connessione non funziona, in alcuni casi bisogna impostare nel Bottone Client Configuration il giusto protocollo di comunicazione (di norma TCP/IP). Fig. 1-17 Client Configuration Se anche con queste modifiche non funziona, si può provare utilizzando la Stringa di connessione, inseribile direttamente nel file CP3START.CNF. Nel file sopraindicato dovrà essere inserita la seguente istruzione Con autenticazione Sql: CP_ODBCCONN= DRIVER ={SQL Server}; DATABASE=<NOME_DATABASE>; SERVER=<SERVER>;UID=<LOGIN>;PWD=<PASSWORD>;TRUSTED_CONNECTION=NO Con autenticazione NT: CP_ODBCCONN= DRIVER ={SQL Server}; DATABASE=<NOME_DATABASE>; SERVER=<SERVER>;TRUSTED_CONNECTION=YES PROBLEMATICHE DI CONNESSIONE 1 17
PROBLEMATCHE DI CONNESSIONE - AD HOC REVOLUTION Porta di Comunicazione Come si può notare in Figura 1-7 ( Client Configuration ), la porta di comunicazione di Default di Sql Server è la 1433. Il numero della porta potrebbe tuttavia essere modificato e quindi controllare che sia sul Client che su MSSQL vi sia impostata la stessa. La figura 1-8 (Errore su Porta di comunicazione) ripropone l errore causato se viene impostata sul Client una porta su cui non ascolta MSSQL. Fig. 1-18 Errore su Porta di comunicazione Assicurarsi che il numero della porta 1433 sia quello effettivamente utilizzato da Sql Server. Per verificare questo bisogna eseguire Start-> Esegui digitare SVRNETCN selezionare TCP/IP tra i protocolli abilitati e premere Proprietà. In Default Port è indicata la porta utilizzata da Sql Server. Fig. 1-19 Porta di Default utilizzata da Sql Server N.B.: Evitare di modificare il numero di default della Porta di Comunicazione. 1 18 PROBLEMATICHE DI CONNESSIONE
AD HOC REVOLUTION - PROBLEMATCHE DI CONNESSIONE Nel caso di errore come da figura 1-10 controllare di non avere impostato un nome di Server inesistente. Fig. 1-20 Errore per impostazione Nome Server errata PROBLEMATICHE DI CONNESSIONE 1 19
PROBLEMATCHE DI CONNESSIONE - AD HOC REVOLUTION Problemi con Windows XP SP2 Con Windows XP sp2 viene installato un Firewall di Sistema che può inibire alcune transazioni su Rete. Questo Firewall chiude anche la comunicazione sulla porta 1433 di Sql Server. Per ovviare a questo problema bisogna entrare sul Pannello di Controllo -> Windows Firewall Fig. 1-21 Windows Firewall 1 20 PROBLEMATICHE DI CONNESSIONE
AD HOC REVOLUTION - PROBLEMATCHE DI CONNESSIONE Entrare quindi nella Pagina Eccezioni e premere Aggiungi Porta. Inserire quindi un nome a piacere e indicare come numero porta 1433 e attivare check TCP come da figura 1-12 (assicurarsi come da paragrafo Porta di Comunicazione che la porta sia effettivamente la 1433). Fig. 1-22 Eccezione : Porta non controllata dal Firewall In questo modo la porta di comunicazione di Sql Server non verrà controllata dal Firewall permettendo la connessione con il database di Ad Hoc. In alcune installazioni di Windows XP sp 2 abbiamo notato che viene inserita in automatico la password su utente SA. Deve quindi essere eliminata lanciando dal Prompt del DOS il comando: OSQL -E -Q"EXEC sp_password NULL, '', 'sa' " Tuttavia è anche vero che in alcuni casi è indispensabile avere la Password su utente SA. In questo caso bisogna inserire una Password e indicarla sull ODBC. PROBLEMATICHE DI CONNESSIONE 1 21
PROBLEMATCHE DI CONNESSIONE - AD HOC REVOLUTION Problemi con Windows 2003 Server Su Windows 2003 Server se si installa MSDE 2000 non comprensivo del Service Pack 3A, la porta di comunicazione di Sql Server 1433 viene chiusa e quindi la connessione con il server non è abilitata. 1 22 PROBLEMATICHE DI CONNESSIONE
AD HOC REVOLUTION - PROBLEMATCHE DI CONNESSIONE PROBLEMATICHE DI CONNESSIONE 1 23
PROBLEMATCHE DI CONNESSIONE - AD HOC REVOLUTION 1 24 PROBLEMATICHE DI CONNESSIONE