[sql 2k5 express] client/server

mercoledì 30 settembre 2009 - 09.38

tankian Profilo | Junior Member

Ciao, ho pensato di passare in questa sezione in seguito a questo thread:

http://www.dotnethell.it/forum/messages.aspx?ThreadID=32502

perchè credo sia diventata la sezione appropriata, correggetemi se sbaglio.

Comunque sia sintetizzando, ho creato una piccola applicazione basata su ss2k5 express e avevo pensato di renderla client del server dove risiede il DB (il tutto totalmente a scopo 'didattico').

Sono riuscito a farlo in una rete con un dominio windows, utilizzando questa stringa di connessione:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

aggiungendo l'utente di dominio su ss2k5 (Aggiungi account di accesso) e mettendo l'eccezione a sqlserv.exe sul firewall di windows.

Ora ipotizzando che io voglia fare la stessa cosa in una rete senza dominio....la procedura è la stessa!?! Perdonate l'ignoranza, ma ad esempio come faccio ad aggiungere l'utente del WORKGROUP su ss2k5?!

lbenaglia Profilo | Guru

>Ora ipotizzando che io voglia fare la stessa cosa in una rete
>senza dominio....la procedura è la stessa!?! Perdonate l'ignoranza,
>ma ad esempio come faccio ad aggiungere l'utente del WORKGROUP
>su ss2k5?!

Ciao Stefano,

Se la LAN non possiede un domain controller manca "l'autorità" destinata a validare le credenziali degli utenti che si autenticano ai singoli PC, quindi l'autenticazione avviene solo localmente.
Capisci bene che l'utente locale Stefano sul PC1 non ha niente a che vedere con l'utente locale Stefano sul PC2 (anche se le password coincidono i SID saranno differenti), quindi non puoi utilizzare la Windows Authentication in SQL Server per autenticare utenti Windows che non siano locali al server che ospita l'istanza.
Allora come fare? Occorre abilitare la SQL Server Authentication in modo che sia l'RDBMS stesso ad autenticare le login.
Lancia SSMS seleziona l'istanza in Object Explorer, tasto DX, Properties, Security e seleziona l'option button "SQL Server and Windows Authentication mode".
A questo punto riavvia l'istanza e definisci le nuove login SQL Server che ti servono mappandole agli user account a livello di database, assegnando le permission necessarie.
Come ultima cosa modifica la stringa di connessione eliminando la sezione "Integrated Security=SSPI" e specificando esplicitamente login e password:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

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

tankian Profilo | Junior Member

Grazie Lorenzo, ignoravo tutto ciò, che vergogna-.-

Provo

tankian Profilo | Junior Member

ottimo, ha funzionato.

l'unica cosa strana è che ho duvuto disattivare il windows firewall. Eppure l'eccezzione su 'sqlserv.exe' l'avevo messa. vabbè!

lbenaglia Profilo | Guru

>ottimo, ha funzionato.
Bene

>l'unica cosa strana è che ho duvuto disattivare il windows firewall.
>Eppure l'eccezzione su 'sqlserv.exe' l'avevo messa. vabbè!
Se hai abilitato il protocollo TCP/IP ed utilizzi una istanza di default, definisci sul server una eccezione per tale protocollo sulla porta 1433.

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

tankian Profilo | Junior Member

Naturalmente funziona.

Grazie
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5