Gdy funkcja FILESTREAM zostanie aktywowana na Microsoft SQL Server 2012, wówczas SQL Server utworzy „ukryty” udział w systemie. Udział jest zdefiniowany w następujący sposób:
Sharename FILESTREAM_SHARE
Path \\?\GLOBALROOT\Device\RsFx0320\<localmachine>\FILESTREAM_SHARE
Remark SQL Server FILESTREAM share
Maximum users unlimited
Users Caching Manual caching of documents
Permissions NT-AUTHORITY\Authenticated Users, FULL
Nazwa to nazwa udziału udostępnianego podczas początkowej konfiguracji FILESTREAM w SQL Server Configuration Manager . Ale po co to jest?
Jak dotąd
Przeczytałem całą dostępną dokumentację FILESTREAM od:
- FILESTREAM (SQL Server)
- Włącz i skonfiguruj FILESTREAM
- Utwórz bazę danych obsługującą FILESTREAM
- Utwórz tabelę do przechowywania danych FILESTREAM
- ... i wszystko związane
- Zgodność FILESTREAM z innymi funkcjami SQL Server
- FILESTREAM DDL, funkcje, procedury składowane i widoki
- Uzyskaj dostęp do danych FILESTREAM za pomocą OpenSqlFilestream
- artykuł SQL Server 2008 - FILESTREAM Storage w SQL Server 2008
- oraz artykuł FILESTREAM (OLTP) --- Przewodnik techniczny dotyczący projektowania krytycznych rozwiązań OLTP, który odwołuje się do wielu innych materiałów
... ale nie było wzmianki o udziale i co robi lub do czego służy. Podaj nazwę, a SQL Server utworzy udział pod maską.
Baza danych z obsługą FILESTREAM
Podczas tworzenia bazy danych obsługującej FILESTREAM baza danych odwołuje się do grupy plików, która odwołuje się do katalogu (zalecanego na osobnym dysku), który absolutnie nie ma nic wspólnego z udziałem, który został początkowo utworzony podczas konfiguracji FILESTREAM.
Zrzut ekranu Skrypt bazy danych obsługujący FILESTREAM
Tak, zdaję sobie sprawę, że wszystkie ścieżki są w C :; to tylko przykład
Biała księga Paula Randalla i in. wyjaśnia dalej, że ...
Dane FILESTREAM są przechowywane w systemie plików w zestawie katalogów NTFS zwanych kontenerami danych, które odpowiadają specjalnym aplikacjom w bazie danych. Transakcyjny dostęp do danych FILESTREAM jest kontrolowany przez SQL Server i sterownik filtru systemu plików, który jest instalowany w ramach włączania FILESTREAM na poziomie Windows. Zastosowanie sterownika filtra systemu plików umożliwia również zdalny dostęp do danych FILESTREAM przez ścieżkę UNC. SQL Server utrzymuje link z wierszy tabeli do powiązanych z nimi plików FILESTREAM. Oznacza to, że usunięcie lub zmiana nazw plików FILESTREAM bezpośrednio przez system plików spowoduje uszkodzenie bazy danych.
... w dalszej części dokumentu (strona 14), którą kontynuują ...
Istnieje jeden sterownik filtru systemu plików FILESTREAM dla każdego woluminu NTFS, który ma kontener danych FILESTREAM, a także jeden dla każdej wersji SQL Server, która ma kontener danych FILESTREAM na woluminie. Każdy sterownik filtra jest odpowiedzialny za zarządzanie wszystkimi kontenerami danych FILESTREAM dla tego woluminu, dla wszystkich instancji korzystających z określonej wersji programu SQL Server.
Na przykład wolumin NTFS, który obsługuje trzy kontenery danych FILESTREAM, po jednym dla każdej z trzech instancji programu SQL Server 2008, będzie miał tylko jeden sterownik filtru systemu plików FILESTREAM programu SQL Server 2008.
pytania
- Miło jest wiedzieć, że SQL Server ma wszystko fajnie i powiązane, ale co tak naprawdę robi ten udział? Czy jest to tak zwany „sterownik filtra systemu plików”?
- Widząc, że każdy uwierzytelniony użytkownik może uzyskać dostęp do „udziału”, jakie są konsekwencje dla bezpieczeństwa?
- Czy urządzenie RsFx0320 jest poprzednikiem odpornego formatu systemu plików, który został wprowadzony w systemie Windows Server 2012?
Jeśli możesz podać odpowiedzi na moje pytania, byłoby miło, gdybyś mógł podać źródło.
źródło
Oto moje zdanie na twoje pytania:
1. Miło wiedzieć, że SQL Server ma wszystko fajnie i powiązane, ale co tak naprawdę robi ten udział? Czy jest to tak zwany „sterownik filtra systemu plików”?
Dostęp do strumienia plików programu SQL Server dotyczy dostępu do plików. Udział udostępnia tę lokalizację za pośrednictwem udziału plików.
Możesz to łatwo zobaczyć za pomocą kodu C #, używając OpenSqlFilestream
https://docs.microsoft.com/en-us/sql/relational-databases/blob/access-filestream-data-with-opensqlfilestream
Jak widać, nie ma FILE_SHARE_READ dla CreateFile i nie ma magii plików, nie ma strumienia plików:
Uwaga: dlaczego nie ma opcji lokalnego serwera / opcji udostępniania FILESTREAM - nie mam pojęcia. Wygląda na to, że niektórzy ludzie mogą polubić ten dodatkowy poziom bezpieczeństwa.
2. Widząc, że każdy uwierzytelniony użytkownik może uzyskać dostęp do „udziału”, jakie są konsekwencje dla bezpieczeństwa?
Wow, świetne pytanie. Wygląda na to, że uprawnienia do udziału są dostępne dla każdego uwierzytelnionego użytkownika, ale podstawowe uprawnienia NTFS powinny dostosować zabezpieczenia. Ale wydaje mi się to luką bezpieczeństwa. Muszę dokładniej zbadać, jak dobrze dostrojone są uprawnienia NTFS, ale zdecydowanie nie podoba mi się uogólnione uprawnienia do udostępniania plików. Przyjdź na Microsoft, WSZYSCY „uwierzytelnieni użytkownicy”? Dobrze czy źle, myślę, że Microsoft zwykle ignoruje udział / koncentrację na uprawnieniach NTFS.
Dostarczanie „uwierzytelnionych użytkowników” było przedmiotem dyskusji od lat. Oto jeden z najlepszych blogów, które czytałem na stronach „uwierzytelnionych użytkowników”. Jest tak mocno zakorzeniony w systemie Windows, że nie sądzę, by kiedykolwiek powiedzieli, że to uzasadnione ryzyko - dopóki nie pojawi się ich nowy produkt, który się go pozbędzie.
https://social.technet.microsoft.com/Forums/windowsserver/en-US/bb74fa7c-89bd-476d-88bf-e88cd66618e6/why-is-authenticated-users-in-the-local-users-group-by- default? forum = winserversecurity
3.Czy urządzenie RsFx0320 jest poprzednikiem odpornego formatu systemu plików, który został wprowadzony w systemie Windows Server 2012?
Wygląda na oparty na SQL, a nie O / S. RsFx0320.sys to SQL 2008. Jak widać poniżej SQL 2012 to RsFx0201.sys, a SQL 2014 to RsFx0300.sys:
https://support.microsoft.com/en-us/help/2961258/fix-cannot-access-the-data-in-filetable-after-you-upgrade-from-sql-ser
Microsoft pokazuje, co może się stać po uaktualnieniu z 2012 do 2014:
źródło