Newsgroup: it.comp.lang.visual-basic
Titolo: Sql - database in rete locale

Salve,
nel seguente scenario con 2 Pc in rete locale:
1) computer con sql server express e file Db amicimiei.mdf in C:\
nome pc Pc-manolo
user manolo
2) computer client ( dove è installato anche Sql Native Client)
tento la connessione al Db con la stringa  StrConn = "Data 
Source=SQLNCLI;Server=PC-MANOLO\SQLEXPRESS;Database=AmiciMiei;"  provato 
anche PC-MANOLO\Manolo
mi viene generata la seguente eccezzione
Si è verificato un errore mentre si cercava di stabilire una connessione con 
il server.  Quando ci si connette a SQL Server 2005, questo errore potrebbe 
essere provocato dal fatto che l'SQL Server non ammette connessioni remote 
sotto le impostazioni predefinite. (provider: Interfacce di rete SQL, error: 
26 - Errore nell'individuazione del server/dell'istanza specificata)
su Sqlserver ho abilitato le connessioni remote ed "autenticazione di 
windows" ed ho collegato il db con SQL Server Management Studio Express
prima che incasino tutto di nuovo, ribadendo la mia totale non conoscienza 
di Sql, come potrei risolvere ?
grazie 



Probabilmente il servizio SQL Browser non è abilitato.
Se poi utilizzi l'autenticazione di windows, dovrai indicare anche
l'user e la password nella stringa di connessione.
Ciao

 wrote:
Leggendo meglio, non si capisce se il db lo hai installato oppure no.
Nel secondo caso, devi anche specificare l'attachdbfilename  nella
stringa di connessione.

 Ciao
Ok ho messo user e psw ( gli stessi utilizzati sul pc sqlclient per 
l'accesso iniziale di win)
mi restituisce l'eccezione
Impossibile eseguire l'accesso per l'utente 'manolo'. L'utente non è 
associato a una connessione SQL Server trusted.
grazie mille
ciao 

...ed ho collegato il db con SQL Server Management Studio Express
Come non detto, avevo letto bene la prima volta ;)

<Raimbaut de Vaqueiras> ha scritto nel messaggio 
news:ihese3tl3oi1vq122...@4ax.com...

Scusa avevo sbagliato nomepc.
SQL Browser è abilitato
ho messo user e psw , mal'errore è sempre lo stesso
ciao

<Raimbaut de Vaqueiras> ha scritto nel messaggio 
news:47fse3d4tsni609i3...@4ax.com...

almeno quello sono riuscito a farlo ( peraltro era ed è incasito sql sulla 
mia macchina)
ciao 


L'user manolo che diritti ha? Prova a leggere qui:
http://support.microsoft.com/kb/889615/it

 wrote:
Credo inoltre che tu debba aggiungere alla stringa di connessione:
Trusted_Connection=Yes
perchè (ho controllato adesso) di default è False.
Ciao

Mike ci ha detto :

Devi esplicitamente autorizzare l'utente NT con cui sei autenticato, ad 
accedere al database AmiciMiei, indicando *cosa* l'utente sia abilitato 
a fare.
Del resto, immagina se tu avessi dieci db attaccati al servizio Sql. 
Potresti volere che un login NT possa leggere da un db e scrivere su un 
altro, o che non acceda del tutto ad un terzo, ad esempio.
Ciao
Alberto
-- 
Ho spiegato a mio nipote cos'è il compromesso: se per le vacanze tua 
madre vuole andare al mare e tuo padre invece in montagna, il 
compromesso è che si va al mare, ma il papà può portarsi gli sci.

 Ciao
user manolo è admin
sempre la stessa eccezione
grazie mille per la disponibilità
ciao
mike 

 nel seguente scenario con 2 Pc in rete locale:
difficilmente uno dei 2 sia un Domain Controller, e quindi direi che l'unica 
soluzione e' utilizzare connessioni con autenticazione SQL Server, quindi 
mancano le indicazioni delle credenziali Userid e Pwd..
saluti
-- 
Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz
 
http://italy.mvps.org
DbaMgr2k ver 0.21.0 - DbaMgr ver 0.65.0 and further SQL Tools
--------- remove DMO to reply 

salve,
Raimbaut de Vaqueiras wrote:

a dire il vero e' proprio il contrario, nel senso che di default e' prevista 
una connessione trusted, tanto piu' che, sempre di default, SQL Server non 
abilita le connessioni standard SQL Server ed addirittura disabilita 
l'account "sa"..


 ha scritto nel messaggio 
news:mn.8aa47d79d...@hotmail.com...

in SQL Server Management Studio Express, nella sezione
PC-MANOLO\SQLEXPRESS\Database\C:\DB_FILES\AMICIMIEI.MDF\Protezione\Utenti
sono riuscito ad inserire l'utente manolo, dove ho la possibilità di 
assegnare dei privilegi, (è questa l'autorizzazione che intendevi, se si 
cosa debbo abilitare ?
grazie
ciao
mike 

mancano le indicazioni delle credenziali Userid e Pwd..
Questa non l'ho capěta (ma non ho ancora provato, mi connetto da
remoto come Admin).
A naso, se ti connetti da remoto utilizzando un account locale che
abbia i necessari privilegi su quel DB, non dovresti avere problemi
con l'autorizzazione di Windows neanche in Workgroup.
Ciao

Sembra che Mike abbia detto :

Non so, non utilizzo quella consolle.
Ma direi che se trovi Manolo (PS: se usi l'autenticazione windows, il 
login doveva già esserci, in quanto già presente nel dominio), e nelle 
sue autorizzazioni metti la spunta su, ad esempio, dbOwner del db 
AmiciMiei, dopo dovrebbe accedere.
Ciao
Alberto
-- 
Carlo Rubbia: Siamo su un treno che va a trecento chilometri all'ora, 
non sappiamo dove ci sta portando e, soprattutto, ci siamo accorti che 
non c'è il macchinista.

 ha scritto nel messaggio 
news:mn.8b1e7d790...@hotmail.com...

fatto ma non cambia, sempre la stessa eccezione.
grazie
ciao
mike 

Mike ha usato la sua tastiera per scrivere :

Due domande stupide:
1) hai scelto l'autenticazione NT, quindi l'utente che si autentica nel 
pc Client è riconosciuto dal dominio NT del pc su cui è installato 
Sql-Server, giusto? (lo so che è una domanda stupida, ma cominciamo 
dall'inizio altrimenti non se ne esce)
2) Il pc server ha un firewall che consente la connessione a 
Sql-Server? Se fosse ad esempio un XP o un Vista, occorre creare 
l'eccezione...
Ciao
Alberto
-- 
Karl Marx: Uno scrittore è produttivo non nella misura in cui produce 
idee, ma nella misura in cui arricchisce l'editore che pubblica le sue 
opere.


sempre grazie
mike 

Leggo solo ora la risposta di Andrea Montanari, ma in una rete workgroup, 
bisogna SOLO utilizzare l'autenticazione Sql e quindi non è permessa 
l'autenticazione di windows ?
saluti
mike 

 I 2 pc sono collegati in rete Workgroup con Wiin Xp
Un workgroup non è un dominio.
Se tu dici ad un server "accetta solo utenti che riconosci secondo le 
regole NT", e il pc che deve svolgere questo compito non ha modo di 
riconoscere un utente secondo le regole NT, ovviamente non potrà 
svolgere ciò che tu gli dici.
Se l'utente del pc client si autentica con un accesso al pc locale, e 
non ad un dominio, il pc server NON sa chi sia colui che sta tentando 
un accesso.
Ma Sql-Server, proprio per poter funzionare anche senza un dominio, può 
dire: "ok, facciamo che accetto anche utenti sconosciuti, purchè si 
autentichino presso di me". Questa, però, è l'autenticazione Sql, non 
l'autenticazione NT.


necessari privilegi su quel DB
questi vengono valutati successivamente all'autenticazione (sempre che sia 
stata possibile).. sempre lo stesso SID viene utilizzato per "collegare" gli 
utenti di database alle login di istanza (escludendo chiaramente i 
sys_admins, che non ne hanno "bisogno").. e questa e' la "seconda fase" del 
processo di "sicurezza" di SQL Server..


salve Mike,

in ambiente workgroup andrebbe utilizzata solamente l'autenticazione 
standard SQL Server.. leggi comunque la mia seconda risposta a Raimbaut de 
Vaqueiras relativamente ad un "palliativo"..


 l'autenticazione NT.
Ho cambiato le impostazioni di autenticazione, ora sono come Sql, cosa e 
come debbo configurare a livello di utente. per la gestione preferirei 
utilizzare SQL Server Management Studio Express.
- ho collegato il Db
- ho il servizio  Sql Server Browser attivo
- ho attivato nel servizio accetta connessioni locali e remote (serve ?)
Rinnovo i ringraziamenti per la pazienza e la cortesia.
ciao
mike 


In effetti è l'unica strada ragionevole.
Ciao

Mike ha usato la sua tastiera per scrivere :

Quello che ti avevo scritto prima:
- Crei il login in Sql-Server (ossia, crei in Sql-Server un simulacro 
di quello che lui si aspettava di trovare in NT).
- Associ tale login ai db che ti interessano, indicando per ogni db 
quali siano le autorizzazioni o le negazioni che dai all'utente.
Ciao
Alberto
-- 
L'economia sa tutto di te e tu non sai niente dell'economia. La tua 
banca sa tutto di te, di quanti soldi hai, e quando li spendi; ma tu 
non sai niente di cosa fa la banca dei tuoi soldi e dove li mette, e se 
ce li ha!

probabilmente sei in un dominio..
No, no, sono nel contesto del palliativo che hai citato.
(e che era sovvenuto anche a me spremendo i ricordi passati, vedi post
piů sotto)
Ciao

Il motivo di queste prove da parte mia č finalizzato ad un'eventuale 
utilizzo dei Db per l'archiviazione di dati  (insieme alla totale nuova 
scrittura dei programmi in .net) di attuali sistemi gestionali in Vb6 che da 
sempre utilizzano file random, in reti locali workgroup, senza particolari 
esigenze, in quanto non superano mai i 20/25 utenti
Ora chiarite ampiamente alcune problematiche del caso, mi sembra che 
un'eventuale futura distribuzione/installazione (classico setup) non sia dei 
piů semplici da eseguire e configurare, in quanto mi sembra di capire che 
venga richiesta (giustamente) una particolare specifica conscenza tecnica.
Premesso che chiaramente non č paragonabile neanche il "concetto" di 
sicurezza rispetto ad archivi su files random, mi domandavo se 
effettivamente č conveniente continuare in questo senso e non rimanere in 
random, tanto piů che in .Net comunque funzionano sempre egregiamente.
Ringrazio comunque per la cortese collaborazione prestata.
saluti
mike 

 che in .Net comunque funzionano sempre egregiamente.
Premesso che con 20/25 utenti in rete, non mi sognerei neppure di fare 
un gestionale con file random (ma mi rendo conto che una volta la 
tecnologia era quella, quindi in giro c'è di tutto), credo ti convenga 
valutare seriamente il passaggio a Sql-Express.
Le difficoltà che stai incontrando sono tipiche di chi approccia il 
mondo Sql-Server senza qualcuno a fianco.
Diciamo che è apparsa anche qualche lacuna di conoscenza del mondo NT, 
che è un requisito fondamentale per fare le cose fatte bene, ma 
sicuramente uno 'che ne sa' di Sql ti avrebbe spiegato tutto con due 
click.
Il consiglio è quello di cercare qualcuno serio che ti aiuti nelle 
prime due/tre connessioni (se fai sw per 20-25 utenti, sicuramente di 
budget ne hai per pagare uno tosto per un giorno), oppure di accettare 
di bestemmiare un po' le prime volte.
Ma quando avrai capito i concetti, sarai a cavallo.
Ohi, del resto, con i file random se devi abilitare delle condivisioni 
di rete a cui accedono in scrittura decine di persone, anche lì le cose 
vanno fatte bene, perchè mica puoi lasciare tutto al caso...
Quindi, comunque il server va configurato bene, sia per le condivisioni 
di file sia per Sql-Express (per il quale, però, puoi anche realizzarti 
degli script da lanciare per generare tutto ciò che ti serve in un 
colpo solo).
A quel punto, meglio 100 volte Sql-Express.
Ciao
Alberto
-- 
Georges Pompidou: Un uomo di stato è un politico che dona se stesso al 
servizio della nazione. Un politico è un uomo di stato che pone la 
nazione al suo servizio.

salve Mike,

personalmente "migrerei" a basi di dati "sostanzialmente" valide.. SQL 
Server rientra tra queste, anche se, ovviamente, la migrazione impone anche 
uno scoglio di apprendimento per maturare sia l'esperienza che la conoscenza 
necessarie sia allo sviluppo che alla distribuzione..
la seconda "necessita'", appunto la distribuzione, e' essenzialmente la piu' 
semplice.. tecnicamente ti basta un XCopy dell'applicazione .Net con 
l'installazione di SQLExpress sulla sola macchina che funga da server.. 
opportune "precauzioni" per garantire sia il traffico di rete (richieste 
anche nel caso di file condivisi) che per l'accesso al servizio sono 
relativamente semplici da risolvere.. ovviamente, come gia' nel tuo caso, 
avrai la necessita' di "indicare" la risorsa da utilizzare, sia questo un 
file fisico condiviso che un servizio (e quindi l'istanza di SQL Server) al 
quale "connettersi"..
considerando come anche i sistemi operativi di Microsoft stanno modificando 
le politiche di accesso a condivisioni di rete, la connessione ad un 
servizio, sia esso locale o remoto, e' sinceramente piu' efficace, 
efficiente e facile..
la parte piu' "ardua" in una migrazione di questo tipo e' invero chiaramente 
progettuale, sia in senso di disegno che di implementazione, sia della nuova 
base dati, che dell'applicativo che eventualmente fruira' del servizio e, 
non ultima, in una svolta radicale nella politica di sicurezza..


 Alberto
Ti ringrazio in ogni caso per la cortese attenzione prestata
ciao
Michele 

 sicurezza..
Pur non conoscendo Sql, pur non essendo ancora riuscito a connettermi al
Db, vi sono grato per la discussione in quanto indubbiamente mi č chiaro
come "un utente finale non potrŕ mai eliminare un file archivio", (anche se
attualmente controllo che questo non accada, e fortunatamente in oltre 20
anni č successo una sola volta)
Grazie di nuovo
saluti
michele