2013-07-31 18 views
8

Czy dostęp do pliku MDF (po podłączeniu do SQLEXPRESS) jest bezpieczny?Dostęp do bezpieczeństwa wątku pliku MDF

Mam lokalny plik MDF wdrożony wraz z aplikacją klienta WPF. Używam pliku MDF do utrzymywania pewnych ustawień specyficznych dla klienta. Może być wiele wątków WYBIERANIE i AKTUALIZACJA tych samych wierszy w tym samym czasie, a tym samym jednoczesny dostęp do pliku przez dostawcę połączenia SQL.

Teraz o co pytam, to czy nie mogę traktować synchronizacji wątków w taki sam sposób, jak w przypadku zdalnych baz danych SQL SERVER (po prostu pozostawić całą pracę dostawcy połączenia SQL) lub czy muszę zawijać mój DB wywołuje w krytycznej sekcji?

Dzięki!

+0

Patrząc na odpowiedzi, to nie jest jasne, co próbujesz zrobić. Jak już wspomniano, MDF jest głównym plikiem bazy danych, do którego zwykle można uzyskać dostęp za pośrednictwem silnika bazy danych. Pomocne może być poznanie, w jaki sposób uzyskujesz do niego dostęp - ciąg połączenia, którego używasz, lub jeśli nie jest to kod źródłowy, który pokazuje, jak modyfikujesz MDF. Bez nich nie jest jasne, co próbujesz zrobić. –

Odpowiedz

0

Jestem bardzo zdezorientowany, jest to baza danych Microsoft SQL uruchomiona na serwerze bazy danych, która zarządza blokowaniem i konfliktami tabel i wierszy, o ile korzystasz z optymistycznej współbieżności w klauzulach WHERE podczas aktualizacji wierszy. Na przykład:

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

, więc oczywiście jest bezpieczny dla wątków.

+0

Nie, jest to plik lokalny, który jest częścią mojego projektu. Projekt jest klientem exe, który jest wdrażany na setkach komputerów. Czy mówisz, że nie ma znaczenia, czy jest dołączony plik mdf czy zwykłe połączenie zdalne? –

+0

Nie uzyskujesz bezpośredniego dostępu do pliku lokalnego, uzyskujesz dostęp przez klienta serwera sql do silnika magazynującego serwer sql, do którego dostęp ma plik. – dixpac

+0

@UriAbramson, nie będziesz w stanie dołączyć pliku sieciowego z wielu maszyn. Musisz umieścić tę bazę danych na serwerze i zmienić ciąg połączenia podczas wdrażania na coś w stylu 'Server = nazwa_serwera, = Baza danych = nazwa_bazy_danych, ID_użytkownika = identyfikator_użytkownika, Hasło = pwd'. –

0

Plik MDF to Plik głównej bazy danych.

Nie można bezpośrednio pisać (teoretycznie) do pliku MDF, uzyskujesz dostęp za pośrednictwem silników i klientów SQL Server.

chodzi o wielokrotność SELECT i UPDATE jesteś przekaźnik na bazie poziomów izolacji transakcji (czytaj zaangażowani, przeczytaj uncommited, SERIALIZABLE, migawki).

Isolation Levels in the Database Engine

+0

plik MDF nie musi być głównym plikiem bazy danych serwera. Można go utworzyć za pomocą VS lub w inny sposób i uzyskać do niego dostęp przez SSMS, gdy jest on "dołączony" do instancji serwera sql. –