Newsgroup: it.comp.lang.visual-basic
Titolo: [Forse OT] ma come cacchio ci si collega a SQL 2008 Express

Devo dire che mi sta salendo la carogna sono ormai 5 gg che leggo e 
straleggo in ogniddove informazioni a riguardo ma non ne vengo fuori
tra poco lo prendo a testate.
Devo creare una piccola applicazione che si basa su uno o piu database.
Un utente scrive i dati, tutti gli altri interrogano soltanto.
Su consiglio di qualcuno di Voi ho scaricato ed installato VB 2008 Express 
(io usavo fino a 5 gg fa VB6)
e SQL 2008 Express (di solito per piccole cose usavo ACCESS ma ora il db si 
fa corposo)
ora ... a parte dover ancora imparare il vb 2008... ma come cacchio ci si 
collega da remoto al benedetto sql???
sul pc dove sql � installato riesco a collegarmi tramite "AUTENTICAZIONE DI 
WINDOWS" e
"AUTENTICAZIONE DI SQL" ma solo con l'utente "SA"
da remoto non c'� verso di collegarsi.
mi state x rispondere:
"ma le hai aperte le porte del firewall"?     --> si l'ho fatto
"ma hai abilitato il protocollo tcp/ip su sql"?    -->  si l'ho fatto
"hai abilitato sqlserver.exe tra le eccezioni del firewall?  --> si l'ho 
fatto
mi pare di aver fatto tutto quel che si puo fare ma ancora nulla
Grazie x chi mi aiuta in questa valle di lacrime
Marco G. 

 mi pare di aver fatto tutto quel che si puo fare ma ancora nulla
Hai abilitato il supporto alle  connessioni remote?
 

 da remoto non c'� verso di collegarsi.
...
Non ho capito se non riesci a collegarti al motore SQL tramite una tua 
applicazione scritta in VB2008 oppure se non riesci ad accedere tramite 
l'SMSS di SQL.
In ogni caso, non considerando (per ora) le stringhe di connessione (se 
stiamo parlando di VB), considera che, un motore sql, per essere 
raggiungibile via tcp, deve avere impostato una porta specifica, oppure deve 
avere il servizio SQLBrowser lanciato.
Io, di solito, disabilito tutte le porte dinamiche, indico la porta 1433 
come porta abilitata su tutti gli indirizzi ip, e lascio spento il 
SQLBrowser.
Se invece vuoi lavorare con l'SQLBrowser, allora devi tenere aperte un bel 
po' di porte nel firewall.
Facci sapere come hai configurato il tutto.

 Hai abilitato il supporto alle  connessioni remote?
Si l'ho fatto ma comunque non mi si collega tra l'altro mi son 
dimenticato... se mi collego dallo stesso pc dov'� installato SQL 2008 EXP 
con "AUTENTICAZIONE DI SQL SERVER" con nome diverso da "sa" non mi permette 
di collegarmi e mi da il seguente errore:
"Accesso non risuscito per l'utente 'marco'. (Microsoft SQL Server, errore: 
18456" 

 ha scritto nel messaggio 
news:4bf38fdf$0$12119$4faf...@reader4.news.tin.it...

Per ora sto parlando ancora del collegamento tramite MS SQL Server 
Management Studio
prima ho provato ad impostare come statica la porta 1433 e aprirla sul 
firewall.... risultato nulla di fatto
poi ho addirittura disattivato il firewall con il medesimo risultato.
ma mentre da remoto non mi lascia proprio collegare, da locale mi da il 
seguente errore:
"Accesso non risuscito per l'utente 'marco'. (Microsoft SQL Server, errore: 
18456)" 

 ha scritto nel messaggionews:4bf38fdf$0$12119$4faf...@reader4.news.tin.it...
sigh
Un po di manuali no eh!
Per sommi capi.....per qualsiasi database SERVER
a) Il database server installato su un pc. Non è banale: devi lanciare
l'applicazione di setup. E probabilmente configurare qualcosa per
indicare quale porta di QUEL PC su cui gira è a disposizione del
server.
Nello specifico di SQLserver c'hai configurazione superficie di
attacco etc etc che ti fà abilitare le connessioni TCP/IP.
b) Ovvio che poi il DBserver  deve essere attivo....per questo IN
GENERE si mette come SERVIZIO che parte in automatico!
c) E' altrettanto ovvio che SUL PC del server non ci devono essere
firewall o limitazioni alla partenza del servizio....per gli utenti
non c'è problema...anzi è una sicurezza in più....se il tuo firewalll
accetta sulla porta del server solo (ad esempio) 125.23.52.100-120 sei
sicuro che su quel server accede solo quei 21 pc di quella rete!
d) Ovvio che le connessioni tcp/ip debbano funzionare...scheda di rete
e quant'altro
e) fatto questo devi CONFIGURARE gli utenti che possono accedere a
quel DATABASE: non è che l'utente pippo se rappresenta il magazziniere
e suul server hai creato il database "clienti" e quello "fatture" e
quello "magazzino"...debba connetersi a tutto...ANZI! io la
contabilità e l'anagrafica NON gliela faccio vedere!
Quindi configurare un utente con I PRIVILEGI che vuoi...ad esempio
legge, inserisce, modifica dati....ma non li cancella!
Hai presente al supermercato quando c'è da modificare cancellare un
articolo e la cassiera deve chiamare il capo con la chiavetta per
abilitare l'operazione.....uguale...puoi diversificare glia accessi!
f)Attento che molti DBserver hanno anche una possibilità di accesso
"finto"...ti colleghi al db ma NON PUOI FARE NULLA!...è ottimo per
fare test di colelgamento da codice....ti colleghi ma non sciupi
nulla!...ti ricordo anche che questa è una gestione parallela che non
c'entra nulal con quella degli utenti di windows.
Sul pc si collegano pippo e pluto e Admin.
Ma sul DBserver possono collegarsi gli utenti Pippo Paperina
Gambadilegno Gastone  etc etc ...che tu crei ed abiliti alle
operazioni possibili!!!
g) Fatto questo siamo pronti
DEVI SCEGLIERE autenticazione integrata...o IP come cavolo si chiama
su SQLserver ...non quella di windows che ti fa entrare con il solito
nome e password di login PC
h) SUL PC CLIENT
Vai qui 
http://www.connectionstrings.com/sql-server-2005
apri il tuo VB.net imposta la connessione con IP del server...nome
utente e password di qualcuno che ESISTE negli utenti "connettibili"
del tuo dbserver
...e collegati....fatto!
Questo è come a grandissime e parziali linee funzionano TUTTI i
dbServer  da mySQL a Oracle...passando per SQLserver e PostgreSQL!
TIP
la connessione è in chiaro....mandi in chiaro anche nome utente e
password!...in rete locale è un piccolo problema...in internet è un
problema agghiacciante!
Dovresti crearti un tunnel SSL criptato fra il tuo client ed il
server....Nicola Ottomano consigliava un tempo Hamachi per non
rompersi tanto i coglioni!
Chiedi a lui lumi quando sarà il momento di saperne di più!