| Termin | Definicja |
|---|---|
| FILESTREAM file | FILESTREAM file to pojedynczy plik na dysku przechowujący dane obiektu binarnego zarządzanego przez ten mechanizm. FILESTREAM file w architekturze SQL ServerFILESTREAM file to pojedynczy plik przechowywany w kontenerze FILESTREAM i zawierający dane binarne należące do wartości kolumny Plik FILESTREAM nie jest zwykłym dokumentem przeznaczonym do ręcznego otwierania, kopiowania ani zmiany nazwy. Jego lokalizacja należy do kontenera FILESTREAM wskazanego przy tworzeniu lub modyfikowaniu grupy plików FILESTREAM. SQL Server utrzymuje powiązanie między rekordem, identyfikatorem Powiązanie pliku z wierszem i kolumną FILESTREAMObsługa FILESTREAM wymaga kilku elementów współpracujących ze sobą w SQL Server. Baza danych musi mieć grupę plików oznaczoną jako FILESTREAM, a tabela musi zawierać kolumnę typu SQL Server udostępnia dla wartości FILESTREAM logiczny identyfikator ścieżki, zwracany przez funkcję Odczyt, zapis i cykl życia FILESTREAM fileOperacje na danych FILESTREAM można wykonywać przez zwykły język Transact-SQL albo przez dostęp strumieniowy. Przy użyciu T-SQL aplikacja odczytuje lub zapisuje wartość kolumny tak jak inne dane typu Usunięcie lub zastąpienie wartości w kolumnie nie oznacza, że aplikacja może natychmiast usunąć odpowiadający jej plik z katalogu kontenera. SQL Server zarządza cyklem życia obiektów FILESTREAM i wykorzystuje proces zbierania nieużywanych danych, aby porządkować pliki, które przestały być referencjonowane. Ręczne kasowanie plików z kontenera omija mechanizmy transakcyjne i może pozostawić w bazie odwołania do nieistniejących danych albo uszkodzić strukturę zarządzaną przez silnik. Z tego powodu kontrola miejsca powinna odbywać się przez monitorowanie bazy, grupy plików FILESTREAM i woluminu, a nie przez ręczne porządki w katalogach. FILESTREAM file podlega również zasadom ochrony transakcyjnej i kopii zapasowych SQL Server. Kopia bazy powinna obejmować właściwe dane relacyjne oraz zawartość grup FILESTREAM, aby można było odtworzyć zarówno rekordy, jak i ich obiekty binarne. Samo skopiowanie katalogu systemem operacyjnym nie jest równoważne wykonaniu kopii zapasowej bazy. Przy diagnozowaniu problemów trzeba rozróżnić brak miejsca na woluminie, błędne uprawnienia do udziału FILESTREAM, nieprawidłowy kontekst transakcji oraz uszkodzenie powiązania między rekordem a danymi. Co oznacza ten plik podczas diagnozy komputeraNa komputerze użytkownika FILESTREAM file może pojawić się w związku z aplikacją korzystającą z SQL Server, lecz zwykle nie jest samodzielnym plikiem roboczym, który należy otwierać w Eksploratorze Windows. Podczas diagnozy warto ustalić, jaka aplikacja korzysta z bazy, gdzie znajduje się instancja SQL Server, czy usługa działa oraz czy wolumin zawierający kontener FILESTREAM ma wystarczającą ilość wolnego miejsca. Należy także sprawdzić, czy problem dotyczy wszystkich obiektów binarnych, czy tylko wybranych rekordów, oraz czy występuje przy odczycie przez T-SQL, czy dopiero przy dostępie strumieniowym. Objaw w rodzaju błędu odczytu pliku, niedostępnego dokumentu lub nieudanej operacji zapisu nie wskazuje automatycznie na uszkodzenie samego pliku. Przyczyną może być brak aktywnej transakcji, użycie nieprawidłowego uchwytu, wyłączony dostęp FILESTREAM, ograniczenia uprawnień albo niespójność konfiguracji klienta i serwera. Bezpośrednia zmiana zawartości katalogu FILESTREAM nie jest metodą naprawczą. Bezpieczne postępowanie polega na zebraniu komunikatów SQL Server, informacji o bazie i aplikacji oraz wykonaniu kopii zapasowej przed działaniami, które mogą zmienić stan danych. Zakres diagnozy na komputerze użytkownika obejmuje przede wszystkim ustalenie, czy źródło problemu znajduje się po stronie systemu, dysku, konfiguracji klienta lub aplikacji. Analiza administracyjna konkretnej bazy SQL Server wymaga dostępu do właściwego środowiska i danych diagnostycznych generowanych przez ten silnik. |