| Termin | Definicja |
|---|---|
| FILESTREAM filegroup | FILESTREAM filegroup to dedykowana grupa plików bazy danych przeznaczona do przechowywania danych tego mechanizmu. Rola FILESTREAM filegroup w SQL ServerFILESTREAM filegroup to specjalna grupa plików bazy danych w Microsoft SQL Server, przeznaczona do przechowywania danych obiektów FILESTREAM. Nie jest to zwykła grupa plików używana wyłącznie dla tabel i indeksów. Jej obecność informuje silnik SQL Server, że wskazany obszar składowania ma obsługiwać wartości kolumn W jednej bazie może istnieć jeden lub więcej plików należących do FILESTREAM filegroup. Każdy taki plik wskazuje lokalizację kontenera danych FILESTREAM za pomocą właściwości Powiązanie grupy plików z kolumną FILESTREAMAby korzystać z FILESTREAM, baza danych musi mieć włączoną obsługę tego mechanizmu na poziomie instancji oraz odpowiednio skonfigurowane ustawienia bazy. W definicji tabeli kolumna przechowująca dane FILESTREAM ma typ Przykładowa definicja tabeli może wyglądać następująco:
W tym przykładzie Konfiguracja kontenera i dostęp do danychFILESTREAM filegroup konfiguruje się przy tworzeniu bazy albo przez rozszerzenie istniejącej bazy poleceniem Dane FILESTREAM można odczytywać przez zwykłe instrukcje Transact-SQL, ale SQL Server udostępnia również strumieniowy dostęp systemu Windows przez interfejs OpenSqlFilestream. Ten tryb wymaga między innymi kontekstu transakcji oraz odpowiedniego uchwytu uzyskanego z SQL Server. Dostęp do kontenera przez bezpośrednie otwieranie plików w systemie operacyjnym omija mechanizmy kontroli SQL Server i może uszkodzić spójność danych, dlatego nie jest prawidłową metodą obsługi FILESTREAM. Warto odróżnić FILESTREAM filegroup od opcji FILETABLE. FileTable korzysta z mechanizmu FILESTREAM i zapewnia tabelę o ustalonej strukturze, która reprezentuje pliki oraz katalogi, ale sama grupa plików nadal jest elementem konfiguracji bazy danych. Włączenie FILESTREAM dla instancji, utworzenie filegroup i skonfigurowanie dostępu do danych to odrębne czynności. Błąd w dowolnym z tych obszarów może powodować problemy przy tworzeniu tabeli, zapisie danych albo użyciu dostępu strumieniowego. Kontrola spójności, kopie zapasowe i diagnostykaFILESTREAM filegroup należy traktować jako część bazy danych, a nie niezależny magazyn plików. Kopia zapasowa bazy obejmuje również dane FILESTREAM zgodnie z zakresem wykonywanej kopii. Przy odtwarzaniu trzeba zachować spójność metadanych bazy i zawartości kontenera. Samo skopiowanie katalogu kontenera w Eksploratorze plików nie zastępuje kopii zapasowej SQL Server i nie gwarantuje możliwości poprawnego odtworzenia relacji między wierszami a danymi binarnymi. Diagnostyka powinna obejmować sprawdzenie, czy baza ma FILESTREAM filegroup, jakie pliki są do niej przypisane oraz czy wskazane lokalizacje istnieją i są dostępne dla usługi SQL Server. Przydatne są widoki katalogowe, między innymi W przypadku komputera używanego jako stacja robocza diagnostyka powinna najpierw rozdzielić problem bazy SQL Server od problemu systemu plików, dysku i uprawnień. Analiza komunikatu błędu, konfiguracji usługi, dostępnego miejsca oraz stanu nośnika pozwala ustalić, czy problem dotyczy samego FILESTREAM filegroup, całej bazy danych, czy infrastruktury, na której działa SQL Server. |