Connessione da client

lunedì 18 giugno 2007 - 16.27

clan Profilo | Junior Member

Salve
ho letto i vari post già presenti sull'argomento ma brancolo ancora nel buioe ho mille domande senza risposta.
Una connessione da interfaccia client in vb verso una server sqlexpress è davvero una cosa così astrofisica?
Chi sostiene che occorre installare sulla macchina client un'istanza di sqlexpress, può spiegare il perchè?
Chi sostiene l'autenticazione deve essere fatta su account Windows può spiegare la differenza fra:
Data Source=ServerXP\SQLEXPRESS;Initial Catalog=Demo;Integrated Security=SSPI;
Data Source=ServerXP\SQLEXPRESS;Initial Catalog=Demo;User Id=myUsername;Password=myPassword;.
Le myusarname e mypassword sono quelle di un utente Xp o di un apposito utente creato con sqlexpress?
C'è un modo per creare una procedura per configurare in automatico un server/client sqlexpress?
Grazie a quanti mi aiuteranno con il loro contributo

lbenaglia Profilo | Guru

>Chi sostiene che occorre installare sulla macchina client un'istanza
>di sqlexpress, può spiegare il perchè?
Falso, l'unico requisito sul client è costituito da una o più librerie client.
Di default Windows (dalla versione 2000) contiene i Microsoft Data Access Components (MDAC), una serie di drivers ODBC e providers OLE DB che ti permettono di accedere a diversi data source (tra cui SQL Server).
L'ultima versione la trovi qua:
http://msdn2.microsoft.com/en-us/data/aa937730.aspx

Per utilizzare le nuove funzionalità introdotte con SQL Server 2005 occorre ricorrere al SQL Native Client OLE DB Provider contenuto nel Framework .NET 2.0 oppure se sviluppi applicazioni non .NET (ad esempio basate su COM come Visual Basic 6) puoi scaricare il Microsoft SQL Server Native Client contenuto nel Feature Pack per SQL Server 2005:
http://www.microsoft.com/downloads/details.aspx?familyid=50B97994-8453-4998-8226-FA42EC403D17&displaylang=it

>Chi sostiene l'autenticazione deve essere fatta su account Windows
>può spiegare la differenza fra:
>Data Source=ServerXP\SQLEXPRESS;Initial Catalog=Demo;Integrated
>Security=SSPI;
>Data Source=ServerXP\SQLEXPRESS;Initial Catalog=Demo;User Id=myUsername;Password=myPassword;.
>Le myusarname e mypassword sono quelle di un utente Xp o di un
>apposito utente creato con sqlexpress?
SQL Server supporta due tipi di autenticazione:
- Windows Authentication
- SQL Server Authentication (chiamata anche Standard Authentication)

Nella Windows Authentication l'autenticazione viene eseguita utilizzando il ticket Kerberos generato durante la login in Windows. Per abilitarla devi specificare "Integrated Security=SSPI;" nella stringa di connessione;
Nella SQL Server Authentication il processo di autenticazione viene eseguito da SQL Server utilizzando la User ID e la Password specificate nella connection string. Questa modalità deve essere espressamente abilitata dato che di default è attiva solo la prima.

In entrambi i casi dovranno esistere le relative login SQL Server, nel primo caso mappata ad un utente o gruppo Windows, nel secondo si tratterà di una login nativa.

Per comprendere meglio il discorso, fai riferimento al seguente articolo di Luca:

"Assegnare i permessi in SQL Server"
http://www.microsoft.com/italy/technet/community/mvp/editoriali/permessi.mspx

>C'è un modo per creare una procedura per configurare in automatico
>un server/client sqlexpress?
Non capisco cosa intenda con "configurare in automatico un server/client"
Cerca di essere più preciso.

>Grazie a quanti mi aiuteranno con il loro contributo
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

clan Profilo | Junior Member

>C'è un modo per creare una procedura per configurare in automatico
>un server/client sqlexpress?
Non capisco cosa intenda con "configurare in automatico un server/client"
Cerca di essere più preciso.
tipo un file batch o una serie di comandi da codice per configurare
accettazione connessioni remote su tcp
impostazione permessi a gruppo utenti
e cosi via.

lbenaglia Profilo | Guru

>tipo un file batch o una serie di comandi da codice per configurare
>accettazione connessioni remote su tcp
Questo argomento è prettamente di networking e dipende dalla infrastruttura di rete (switch, firewall, policy, ecc).
Per quanto riguarda SQL Server puoi abilitare i protocolli di rete lato server sia in fase di setup (mediante il parametro [DISABLENETWORKPROTOCOLS]) oppure a posteriori tramite il SQL Server Configuration Manager:

"How to: Install SQL Server 2005 from the Command Prompt"
http://msdn2.microsoft.com/en-us/library/ms144259.aspx

"SQL Server Configuration Manager"
http://msdn2.microsoft.com/en-us/library/ms174212.aspx

>impostazione permessi a gruppo utenti
>e cosi via.
I permessi agli user account si assegnano mediante il comando GRANT:

"GRANT (Transact-SQL)"
http://msdn2.microsoft.com/en-us/library/ms187965.aspx

Per sottomettere comandi SQL all'istanza puoi ricorrere all'utility command line sqlcmd.exe:

"sqlcmd Utility"
http://msdn2.microsoft.com/en-us/library/ms162773.aspx

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5