2013-07-31 11 views
8

L'accesso al file MDF (se collegato a SQLEXPRESS) è sicuro?Accesso alla sicurezza del thread del file MDF

Ho un file MDF locale distribuito insieme alla mia applicazione client WPF. Sto usando il file MDF per mantenere alcune impostazioni specifiche del client. Possono esserci molti thread SELEZIONARE e AGGIORNARE le stesse righe allo stesso tempo e quindi accedere al file tramite il provider di connessione SQL simultaneamente.

Ora, quello che sto chiedendo è che io possa trattare la sincronizzazione del thread nello stesso modo in cui lo faccio con i database SQL SERVER remoti (basta lasciare tutto il lavoro al provider di connessione SQL) o devo avvolgere il mio DB chiama all'interno di una sezione critica?

Grazie!

+0

Guardando le risposte, non è chiaro quello che stai cercando di fare. Come notato, MDF è il file di database principale a cui si accede normalmente tramite un motore di database. Ciò che sarebbe di aiuto è sapere come lo stai accedendo: la stringa di connessione che stai utilizzando o, in caso contrario, il codice sorgente che dimostra come stai modificando l'MDF. Senza questi, non è veramente chiaro cosa stai cercando di fare. –

risposta

0

Sono davvero confuso, è un database Microsoft SQL in esecuzione su un server database che gestisce il blocco e il conflitto di righe e tabelle purché si utilizzi la concorrenza ottimistica nelle clausole WHERE durante l'aggiornamento delle righe. Per esempio

update settings set A = 'val' where A = 'old val' 

così, naturalmente, è thread-safe.

+0

No, è un file locale che fa parte del mio progetto. Il progetto è un exe client che viene distribuito su centinaia di macchine. Stai dicendo che non fa alcuna differenza se è un file mdf allegato o una normale connessione remota? –

+0

Non si sta accedendo direttamente al file locale, si accede attraverso il client sql server al motore di archiviazione del server sql con il relativo file di accesso. – dixpac

+0

@UriAbramson, non si sarà in grado di allegare un file di rete da più macchine. Devi mettere quel database su un server e cambiare la stringa di connessione durante la distribuzione in qualcosa come 'Server = serverName; Database = databaseName; User ID = userid; Password = pwd'. –

0

Il file MDF è File di database principale.

Impossibile scrivere sul file MDF direttamente (in teoria), si sta accedendo tramite motori e client di SQL Server.

Per quanto riguarda più SELECT e UPDATE siete relè sulla base di dati livelli di isolamento delle transazioni (lettura impegnata, leggere uncommited, serializzabili, istantanee).

Isolation Levels in the Database Engine

+0

il file MDF non deve essere il file di database principale del server. Può essere creato utilizzando VS o in altro modo e accessibile tramite SSMS mentre è "collegato" all'istanza del server SQL. –

Problemi correlati