| Termin | Definicja |
|---|---|
| Katalog danych FILESTREAM | Katalog danych FILESTREAM to lokalizacja systemu plików przechowująca duże obiekty binarne powiązane z bazą. Rola katalogu danych FILESTREAM w SQL ServerKatalog danych FILESTREAM jest zarządzaną przez Microsoft SQL Server lokalizacją systemu plików, w której przechowywane są wartości kolumn typu Katalog nie jest zwykłym folderem przeznaczonym do ręcznego składowania plików. Tworzy się go podczas definiowania grupy plików FILESTREAM, na przykład przez użycie klauzuli Budowa kontenera i wymagania systemu plikówKontener FILESTREAM należy do grupy plików FILESTREAM przypisanej do konkretnej bazy danych. W definicji bazy można wskazać wiele takich grup, a każda z nich może mieć własny kontener. W praktyce lokalizacja powinna znajdować się na woluminie NTFS, ponieważ obsługa danych FILESTREAM korzysta z funkcji systemu plików i mechanizmów transakcyjnych SQL Server. Katalog musi być pusty w momencie tworzenia kontenera i nie powinien zawierać plików utworzonych przez użytkownika ani przez inną bazę danych. Po utworzeniu kontenera SQL Server buduje w nim wewnętrzne podkatalogi. Ich układ, nazwy oraz identyfikatory nie są przeznaczone do ręcznej interpretacji ani modyfikowania. Nie wolno przenosić plików, zmieniać ich nazw, usuwać pustych katalogów ani kopiować zawartości metodą przeznaczoną dla zwykłych folderów. Taka ingerencja może spowodować niespójność między systemem plików a metadanymi bazy. Kontener powinien mieć odpowiednią ilość wolnego miejsca, a jego wolumin musi być objęty monitoringiem pojemności, ponieważ zapełnienie dysku może zatrzymać zapisy nowych obiektów. Konfiguracja FILESTREAM obejmuje zarówno poziom instancji SQL Server, jak i poziom konkretnej bazy. W SQL Server Configuration Manager można włączyć dostęp FILESTREAM dla instancji, a następnie włączyć wymagane opcje bazy za pomocą Dostęp transakcyjny i ochrona spójności danychOdczyt danych FILESTREAM może odbywać się przez standardowe zapytanie T-SQL albo przez strumieniowy dostęp Win32. Przy dostępie systemem plików aplikacja używa funkcji Nie należy otwierać plików FILESTREAM przez bezpośrednie ścieżki systemu Windows, nawet jeśli administrator widzi je w Eksploratorze plików. Prawidłowa ścieżka logiczna zawiera elementy kontrolowane przez SQL Server, a dostęp jest weryfikowany przez mechanizm bazy i uprawnienia użytkownika. Operacje zapisu, aktualizacji i usuwania powinny być wykonywane w ramach właściwej transakcji. Przerwanie transakcji, utrata połączenia lub niepoprawne zamknięcie uchwytu może pozostawić operację niedokończoną, ale mechanizmy SQL Server mają wtedy za zadanie wycofać zmianę zgodnie z regułami transakcyjności. W tabeli używającej FILESTREAM wymagany jest klucz główny, a kolumna FILESTREAM musi mieć właściwość Kopia zapasowa, przenoszenie i diagnostyka konteneraKatalog danych FILESTREAM jest częścią bazy danych z punktu widzenia kopii zapasowej i odtwarzania. Kopia bazy SQL Server obejmuje dane FILESTREAM należące do odpowiednich grup plików, dlatego nie powinno się zastępować backupu bazy niezależnym kopiowaniem folderu. Przy odtwarzaniu trzeba zachować zgodność między bazą, grupami plików FILESTREAM i ich lokalizacjami docelowymi. Zmiana dysku lub ścieżki powinna być wykonana procedurą administracyjną SQL Server, na przykład przez właściwe operacje przenoszenia plików bazy i późniejsze sprawdzenie stanu bazy. Podstawowa diagnostyka obejmuje sprawdzenie, czy baza jest online, czy grupa plików FILESTREAM jest dostępna oraz czy ścieżka kontenera odpowiada konfiguracji zapisanej w bazie. Pomocne są widoki katalogowe SQL Server, między innymi Objawy problemu mogą obejmować błędy odczytu lub zapisu kolumn FILESTREAM, nieudane operacje |