Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

gestire file mdf spostati in rete

159 views
Skip to first unread message

savino

unread,
Nov 1, 2006, 11:05:02 AM11/1/06
to
Questa richiesta è stata spostata dal gruppo .net-VB.

Salve a tutti, è la mia prima domanda e non sarà di certo l'ultima ...

Sono passato da VB6 A VB.net, da ACCESS A MS SQL SERVER 2005, quindi
comprenderete le innumerevoli difficoltà che sto affrontando.
Comunque sto sviluppando un applicativo nel quale tramite il trascinamento
da esplora risorse a origine dati VS ha creato in automatico un dataset
tipizzato che ho associato ai controlli textbox etc.

in app.config è stata creata automaticamente la stringa di connessione
seguente :
<connectionStrings>
<add name="proseta.My.MySettings.setaconnessione"
connectionString="Data
Source=.\SQLEXPRESS;AttachDbFilename=C:\database\seta.mdf;Integrated
Security=True;Connect Timeout=30;User Instance=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
Il programma gira perfettamente anche quando sposto il database ( sia mdf
che ldf) su un altro HD della stessa macchina e cambio di conseguenza la
lettera C: in E: , questo perche SQL SERVER li gestisce entrambi tramite
memoria condivisa.
Se invece mappo in risorse di rete un altro computer che identifico con Z:
previa configurazione ed abilitazione dei protocolli di rete named pipe e
tcp/ip (autenticazione solo windows) mi viene restituito il seguente errore :
Il file "Z:\database\seta.mdf" è in un percorso di rete non supportato per i
file di database.
Impossibile allegare un database a denominazione automatica per il file
Z:\database\seta.mdf. Esiste un database con lo stesso nome oppure il file
specificato non può essere aperto oppure si trova in una condivisione UNC.

Ho cercato di vedere come creava in automatico una nuova connessione
trascinando da esplora risorse il database dal percorso di rete ad origine
dati ma mi dice accesso negato.

La risposta che mi occorre prima di tutto è: Posso gestire un database che
risiede su un unità di rete "Z" mentre MS SQL SERVER risiede sul mio pc "C"

Ciò che ho riportato è una piccolissima parte delle prove che ho effettuato
anche con sql manager studio, con telnet ho testato la porta 1433 etc.
Conto su di voi per essere illuminato ...

Lorenzo Benaglia

unread,
Nov 1, 2006, 11:36:59 AM11/1/06
to
savino wrote:
> Il programma gira perfettamente anche quando sposto il database ( sia
> mdf che ldf) su un altro HD della stessa macchina e cambio di
> conseguenza la lettera C: in E: , questo perche SQL SERVER li
> gestisce entrambi tramite memoria condivisa.

No, funziona perché quella stringa di connessione effettua l'attach del
database all'istanza a runtime indipendentemente dal protocollo di rete che
utilizzi per accedere all'istanza.

> Se invece mappo in risorse di rete un altro computer che identifico
> con Z: previa configurazione ed abilitazione dei protocolli di rete
> named pipe e tcp/ip (autenticazione solo windows) mi viene restituito
> il seguente errore : Il file "Z:\database\seta.mdf" è in un percorso
> di rete non supportato per i file di database.
> Impossibile allegare un database a denominazione automatica per il
> file Z:\database\seta.mdf. Esiste un database con lo stesso nome
> oppure il file specificato non può essere aperto oppure si trova in
> una condivisione UNC.

Attenzione: SQL Server non è Access!!!
In Access il motore predisposto ad interfacciarsi al file .mdb (il JET
Engine) risiedeva sui singoli client, mentre SQL Server è un servizio,
quindi un programma predisposto alla gestione dei database.
Sul client risiedono solo ed esclusivamente i drivers necessari alla
connessione con l'istanza (locale o remota).
Questo comporta che sulla rete viaggeranno solo ed esclusivamente le query
ed i dati in risposta a tali comandi.

I Books Online riportano che i files fisici che costituiscono un database
devono risiedere localmente al server sul quale è installato SQL Server, su
una Storage Area Network (SAN) oppure su una rete iSCSI.
E la cosa ha MOLTO senso: se fosse possibile mettere i files fisici su una
share di rete, avresti un traffico ENORME (più o meno la stessa identica
cosa che avviene in Access quando si condivide un file .mdb su una share),
degradando enormemente le prestazioni del DBMS e di tutta la rete.

> La risposta che mi occorre prima di tutto è: Posso gestire un
> database che risiede su un unità di rete "Z" mentre MS SQL SERVER
> risiede sul mio pc "C"

A fronte del discorso appena fatto la risposta è no.
Nessuno ti vieta di relegare i file fisici che costituiscono un database su
uno o più dischi locali (eventualmente in RAID) oppure installare SQL Server
con i suoi db su un server remoto.
Inoltre sconsiglio di utilizzare la clausola AttachDbFilename, ma di
configurare opportunamente una istanza SQL Server e di accedervi con una
stringa di connessione "più classica" che si limita a specificare il data
source (ovvero l'istanza), il catalogo (database) e la modalità di
autenticazione.
Sul seguente sito troverai diversi esempi:
http://www.connectionstrings.com/

Ciao!

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


savino

unread,
Nov 2, 2006, 2:19:02 PM11/2/06
to
Ringrazio per il chiarimento,
devo abbandonare completamente la logica VB6-ACCESS.
Mi sono incartato in autorizzazioni sia sul server di "A" che su quello di
"B" dove avevo distribuito l'applicazione e tutt'ora non ne vengo fuori.
Comunque mi sono affidato troppo alla configurazione guidata origine dati.
Visto che il lavoro non è in una fase molto avanzata, anche per fare
esperienza, ricomincerò senza aiuti wizard.
Ancora una domanda. Per i books on line, li ho scaricati ed installati, ma
non riesco ad andare oltre la presentazione degli argomenti, non trovo nessun
link di avanzamento.
Quando lancio SQL SERVER TUTORIAL mi indirizza alla pagina
ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.it/sqltut9/html/2cab5279-86fd-482d-a690-de24bbc25299.htm che mi presenta gli argomenti

Questa lezione include gli argomenti seguenti:
Avvio di SQL Server Management Studio
Connessione con Server registrati e Esplora oggetti
Modifica del layout ambiente
Visualizzazione della finestra del documento
Visualizzazione della pagina di riepilogo
Selezione dello schema dei tasti di scelta rapida
Impostazione delle opzioni di avvio
Ripristino della configurazione predefinita di SQL Server Management Studio
Riepilogo

come si fa ad andare avanti ?

Saluti Savino

Lorenzo Benaglia

unread,
Nov 2, 2006, 2:58:31 PM11/2/06
to
savino wrote:
> Ancora una domanda. Per i books on line, li ho scaricati ed
> installati, ma
> non riesco ad andare oltre la presentazione degli argomenti, non
> trovo nessun
> link di avanzamento.

Hem... non ti seguo.
Premi il bottone Context e ti apparirà una finestra a sinistra costituita da
3 tab:

- Contents che visualizza gli argomenti in una treeview separati per
prodotto;
- Index che ti permette di effettuare una ricerca tra le parole chiave;
- Help Favorites dove puoi memorizzare i links più comunemente utilizzati.

Per ulteriori dettagli puoi leggere "l'help sull'help" richiamabile dal menu
Help > Help on Help:-)

0 new messages