| Termin | Definicja |
|---|---|
| Replikacja FILESTREAM | Replikacja FILESTREAM obejmuje synchronizację zarówno danych w tabeli, jak i powiązanych plików na dysku. Jak SQL Server traktuje dane FILESTREAM podczas replikacjiReplikacja FILESTREAM w SQL Server dotyczy tabeli zawierającej kolumnę typu W typowym scenariuszu używa się replikacji transakcyjnej SQL Server. Log Reader Agent odczytuje zmiany oznaczone w dzienniku transakcji, a Distribution Agent przekazuje je do subskrybenta. Dla kolumn FILESTREAM można skonfigurować replikowanie samego atrybutu FILESTREAM albo replikowanie kolumny jako zwykłego Różnica między kolumną FILESTREAM a zwykłym kopiowaniem plikówPlik znajdujący się w kontenerze FILESTREAM nie powinien być modyfikowany, usuwany ani przemieszczany bezpośrednio za pomocą Eksploratora Windows lub poleceń systemu plików. SQL Server kontroluje te dane transakcyjnie. Operacje strumieniowe mogą być wykonywane przez interfejs systemu plików, ale muszą być powiązane z rozpoczętą transakcją SQL Server i tokenem uzyskanym przez funkcję Replikacja utrzymuje logiczne zmiany danych, a nie ogólną synchronizację dwóch katalogów. Aktualizacja wiersza, usunięcie rekordu lub zapis nowej zawartości FILESTREAM musi zostać zarejestrowany przez SQL Server w ramach transakcji. Dopiero wtedy agent replikacji może przekazać zmianę dalej. Z tego powodu ręczna ingerencja w kontener, przywracanie pojedynczych plików bez wiedzy o stanie bazy albo używanie niezależnego programu do synchronizacji katalogów nie zastępuje replikacji. Backup i odtwarzanie bazy obejmują dane FILESTREAM razem z relacyjną częścią bazy, ale backup nie jest mechanizmem ciągłego przesyłania zmian do subskrybenta. Ograniczenia konfiguracji subskrybenta i schematuPodczas konfigurowania artykułu trzeba sprawdzić, czy schemat tabeli na subskrybencie zachowuje atrybut FILESTREAM i czy docelowa baza ma prawidłowo skonfigurowaną grupę plików FILESTREAM. Pominięcie atrybutu powoduje utworzenie zwykłej kolumny W tabelach zawierających kolumny FILESTREAM obowiązują również szczególne ograniczenia dotyczące ustawień replikacji. Dla publikacji transakcyjnej nie można używać wartości Kontrola spójności po uruchomieniu replikacjiOcena poprawności replikacji FILESTREAM powinna obejmować jednocześnie dane relacyjne i zawartość binarną. Na subskrybencie należy sprawdzić liczbę wierszy, wartości kluczy, długość danych zwracaną przez Problemy mogą wynikać z zatrzymanego Log Reader Agent, błędu Distribution Agent, braku miejsca na woluminie, niezgodnego schematu albo próby traktowania kontenera jak zwykłego katalogu. Diagnostyka powinna zaczynać się od komunikatów agentów replikacji i stanu publikacji, a następnie obejmować porównanie rekordów oraz długości danych po obu stronach. Szczegóły zgodności FILESTREAM z replikacją opisuje dokumentacja Microsoft SQL Server. W środowisku produkcyjnym trzeba także ustalić procedurę odtwarzania po awarii, ponieważ ponowne utworzenie subskrypcji lub ponowna synchronizacja może wymagać odpowiedniego przygotowania dużych danych binarnych. |