Za pomocą FILESTREAM z innymi SQL Server funkcje

Ponieważ dane FILESTREAM w systemie plików, w tym temacie opisano niektóre zagadnienia, wytyczne i ograniczenia dotyczące używania FILESTREAM następujące funkcje w SQL Server:

  • Migawki bazy danych

  • Replikacja

  • Dziennik wysyłki

  • Dublowanie baz danych

  • Pełnego tekstu

  • Awaryjnej

  • SQL Server Express

Migawki bazy danych

SQL Servernie obsługuje bazy danych migawek dla aplikacjami FILESTREAM.Jeśli grupa plików FILESTREAM w klauzula ON tworzenie bazy danych, instrukcja spowoduje niepowodzenie i błąd zostanie zwiększona.

Używając FILESTREAM, można utworzyć bazę danych migawek aplikacjami standard (innych niż FILESTREAM).Aplikacjami FILESTREAM są oznaczone jako offline dla tych migawek bazy danych.

Instrukcja SELECT, który jest wykonywany na tabela FILESTREAM w migawka bazy danych nie może zawierać kolumna FILESTREAM; w przeciwnym razie zostanie zwrócony następujący komunikat o błędzie:

Could not continue scan with NOLOCK due to data movement.

Replikacja

A varbinary(max) kolumna, która ma atrybut FILESTREAM włączone na Wydawca mogą być replikowane na subskrybenta z lub bez atrybutu FILESTREAM.Aby określić sposób, w którym kolumna są replikowane, Właściwości artykułu - <artykułu> okno dialogowe lub @schema_option parametr sp_addarticle lub sp_addmergearticle.Aby uzyskać więcej informacji dotyczących sposobu zestaw opcje schematu, zobacz Jak Określ opcje schematu (SQL Server Management Studio) i Jak Określ opcje schematu (Programowanie replikacji Transact-SQL).Dane, które są replikowane na varbinary(max) kolumna nie ma atrybut FILESTREAM nie może przekraczać limitu 2 GB dla tego typu danych; w przeciwnym razie uruchom -czas zostanie wygenerowany błąd.Zalecamy Replikuj ten atrybut FILESTREAM chyba, że są replikowanie danych do SQL Server 2005. Replikowanie tabele, które mają FILESTREAM kolumny do SQL Server 2000 abonentów nie jest obsługiwany, niezależnie od opcji schematu określonego.Aby uzyskać więcej informacji na temat replikacji danych w starszych wersjach SQL Server, zobacz W topologii replikacji przy użyciu wielu wersji programu SQL Server.

Ostrzeżenie

Replikowanie danych dużej wartości z SQL Server 2008 do SQL Server 2005 abonentów jest ograniczona do maksymalnie 256 MB danych wartości.Aby uzyskać więcej informacji, zobacz Specyfikacji maksymalnej pojemności.

Zagadnienia dotyczące replikacji transakcyjnej

Jeśli używasz FILESTREAM kolumn w tabelach, które są publikowane dla replikacja transakcyjna, zanotuj następujące kwestie:

  • Jeśli wszystkie tabele zawierają kolumny, które mają atrybut FILESTREAM, nie można użyć wartości database snapshot lub database snapshot character dla @sync_method Właściwość sp_addpublication.

  • max text repl size Opcja określa maksymalną ilość danych, która może być wstawiona do kolumna publikowanym dla replikacja.Tej opcji można kontrolować rozmiar danych FILESTREAM, który jest replikowany.Aby uzyskać więcej informacji, zobacz Maksymalny rozmiar repl tekstu opcji.

  • Jeśli określono opcję Schemat atrybut FILESTREAM replikacji, ale odfiltrować uniqueidentifier kolumna, która wymaga FILESTREAM lub można określić nie Replikuj ograniczenie typu UNIQUE do kolumna, replikacja nie Replikuj atrybut FILESTREAM.Kolumna jest replikowany tylko jako varbinary(max) kolumny.

Zagadnienia dotyczące replikacji scalania

Jeśli używasz FILESTREAM kolumn w tabelach, które są publikowane dla replikacja scalająca, należy zwrócić uwagę następujące kwestie:

  • replikacja scalająca i FILESTREAM wymagają kolumna typu danych uniqueidentifier do identyfikują każdy wiersz w tabela.Jeśli tabela nie ma replikacja scalania automatycznie dodaje kolumna.replikacja scalania wymaga, że kolumna mają zestaw właściwość ROWGUIDCOL i domyślnej NEWID() lub NEWSEQUENTIALID().W uzupełnieniu do tych wymagań FILESTREAM wymaga zdefiniowania ograniczenie UNIQUE dla kolumna.Wymogi te mają następujące konsekwencje:

    • Jeśli kolumna FILESTREAM dodać do tabela, która jest już opublikowany replikacja scalająca, upewnij się, że uniqueidentifier Kolumna ma ograniczenie UNIQUE.Jeśli nie ma ograniczenie UNIQUE, Dodawanie ograniczenia o nazwie tabela w baza danych publikacja.Domyślnie replikacja scalająca będzie publikować tej zmiany schematu i będą stosowane do każdego baza danych subskrypcja.Aby uzyskać więcej informacji na temat zmiany schematu, zobacz Wprowadzanie zmian schematu na publikację baz danych.

      Usuń replikacja scalająca opisane ręcznie dodać ograniczenia UNIQUE, należy najpierw usunąć ograniczenie typu UNIQUE; w przeciwnym wypadku usuwania replikacja nie powiedzie się.

    • Domyślnie NEWSEQUENTIALID() używa replikacja scalająca, ponieważ zapewnia lepszą wydajność niż NEWID().Jeśli dodasz uniqueidentifier kolumna do tabela, która zostanie opublikowana dla replikacja scalająca określić NEWSEQUENTIALID() jako domyślny.

  • Replikacja scalania zawiera Optymalizacja do replikacji dużych obiektów.Optymalizacja jest kontrolowana przez @stream_blob_columns parametr sp_addmergearticle.Jeśli użytkownik zestaw opcja Schemat atrybut FILESTREAM replikacji @stream_blob_columns wartość parametru jest zestaw do true.Optymalizacja może być zastąpiona przy użyciu sp_changemergearticle.Ta procedura składowana umożliwia zestaw @stream_blob_columns do false.Dodania kolumny FILESTREAM do tabela, która jest już opublikowany replikacja scalająca, zalecane jest zestaw opcję true za pomocą sp_changemergearticle.

  • Włączenie opcji schematu FILESTREAM, po utworzeniu artykuł może spowodować replikacja, jeśli dane kolumna FILESTREAM przekracza 2 GB i występuje konflikt podczas replikacja.Jeśli ta sytuacja powstać, zaleca się usunąć i odtworzyć artykuł tabela z odpowiednią opcję schematu FILESTREAM włączane podczas tworzenia czas.

  • Replikacja scalania można synchronizować FILESTREAM danych przez połączenie HTTPS za pomocą Web synchronizacji.Dane te nie może przekroczyć limit 50 MB dla sieci Web synchronizacji; w przeciwnym razie uruchom -czas zostanie wygenerowany błąd.

Dziennik wysyłki

Rejestrować wysyłki obsługuje FILESTREAM.Serwery podstawowe i pomocnicze muszą być uruchomione SQL Server 2008, lub nowszej wersja i mieć włączone FILESTREAM.

Dublowanie baz danych

dublowanie bazy danych nie obsługuje FILESTREAM.Nie można utworzyć grupa plików FILESTREAM serwer dublowany.Nie można skonfigurować dublowanie baz danych dla bazy danych zawierającej aplikacjami FILESTREAM.

Indeksowania pełnotekstowego

Indeksowania pełnotekstowego działa w taki sam sposób, kolumna FILESTREAM varbinary(max) kolumna.Tabela FILESTREAM musi zawierać kolumna zawierającą rozszerzenie nazwy pliku dla każdego obiektu BLOB FILESTREAM.Aby uzyskać więcej informacji, zobacz Badanie varbinary(max) i xml kolumn (wyszukiwanie pełnotekstowe), Filtry wyszukiwania pełnotekstowego, Indeksowania pełnotekstowego i proces kwerendy, i sys.fulltext_document_types (języka Transact-SQL).

Aparat pełnotekstowe indeksy zawartości bloków BLOB FILESTREAM.Indeksowanie plików, takich jak obrazy mogą być użyteczne.Po zaktualizowaniu obiektu BLOB FILESTREAM go ponownie jest indeksowane.

Awaryjnej

Aplikacjami FILESTREAM muszą być wprowadzane na udostępnionym dysku klastrowanie pracy awaryjnejFILESTREAM musi być włączony w każdym węźle klastra, który będzie obsługiwać wystąpienie FILESTREAM.Aby uzyskać więcej informacji, zobacz Jak Konfigurowanie FILESTREAM w klastrze pracy awaryjnej.

SQL Server Express

SQL Server Express obsługuje FILESTREAM.Ograniczenie rozmiaru bazy danych o wielkości 4 GB nie ma kontener danych FILESTREAM.