Najważniejsze wskazówki dotyczące FILESTREAM

Ten temat zawiera zalecane najważniejsze wskazówki dotyczące używania FILESTREAM.

Fizycznej konfiguracji i konserwacji

Gdy użytkownik zestaw up FILESTREAM woluminy magazynu, należy wziąć pod uwagę następujące wskazówki:

  • Wyłącz krótkich nazw plików w systemach komputerowych FILESTREAM.Krótkie nazwy plików znacznie dłużej tworzyć.Aby wyłączyć krótkie nazwy plików, użyj okna fsutil narzędzia.

  • Regularnie defragmentuj FILESTREAM systemów komputerowych.

  • Za pomocą klastrów NTFS 64 KB.Woluminy skompresowane musi być zestaw 4 KB NTFS klastrów.

  • Wyłącz indeksowanie na woluminach FILESTREAM i zestaw disablelastaccess do zestaw disablelastaccess, narzędzie Windows fsutil narzędzia.

  • Wyłącz antywirusowe skanowania FILESTREAM woluminów, gdy nie jest konieczne.Skanowanie antywirusowe jest konieczne, należy unikać ustawiania zasad, które automatycznie usunie pliki naruszającym przepisy.

  • Konfigurowanie i strojenie poziom macierzy RAID, odporność na uszkodzenia i wydajności, które są wymagane przez aplikację.

Poziom macierzy RAID

Wydajność zapisu

Wydajność odczytu

Odporność na uszkodzenia

Uwagi

RAID 5

Normalny

Normalny

Doskonała

Wydajność jest lepsze niż jeden dysk lub JBOD; i mniej niż RAID 0 lub RAID-5 z rozkładanie.

RAID 0

Doskonała

Doskonała

Brak

RAID 5 + oddzielania

Doskonała

Doskonała

Doskonała

Opcja najbardziej kosztowne.

Projekt fizycznej bazy danych

Podczas projektowania bazy danych FILESTREAM należy wziąć pod uwagę następujące wskazówki:

  • FILESTREAM columns must be accompanied by a corresponding uniqueidentifier ROWGUID column.Te rodzaje tabel muszą towarzyszyć indeks unikatowy.Zazwyczaj ten indeks nie jest indeks klastrowany.Logika biznesowa baz danych wymaga indeks klastrowany, należy upewnić się, że wartości przechowywane w indeksie nie są losowe.Wartości losowe spowoduje indeksu na zmianę kolejności co czas dodawane lub usuwane z tabela Wiersz.

  • Ze względu na wydajność FILESTREAM aplikacjami i pojemniki powinny rezydują na woluminach innych niż system operacyjny SQL Server bazy danych, SQL Server dziennika, tempdb, lub w pliku stronicowania.

  • Zarządzanie miejscem i zasady nie są bezpośrednio obsługiwane przez FILESTREAM.Jednakże można zarządzać miejsca i stosowanie zasad pośrednio przypisując każda grupa plików FILESTREAM oddzielnego woluminu i za pomocą funkcji zarządzania woluminu.

Aplikacja projektowanie i wdrażanie

  • Podczas projektowania i wdrażania aplikacji używających FILESTREAM, należy wziąć pod uwagę następujące wskazówki:

  • Reprezentują kolumna FILESTREAM-zainicjowane za pomocą wartości NULL, a nie 0 x.Wartość 0 x powoduje, że plik ma zostać utworzony i nie zawiera wartości NULL.

  • Uniknięcie wstawiania i usuwania operacji w tabelach, które zawierają niepustych kolumn FILESTREAM.Wstawianie i usuwanie operacji można modyfikować tabele FILESTREAM, które są używane do wyrzucanie elementów bezużytecznych.Może to spowodować wydajność aplikacji zmniejszanie czas.

  • W aplikacjach, które używają replikacja należy użyć NEWSEQUENTIALID() zamiast NEWID().NEWSEQUENTIALID() wykonuje się lepiej niż NEWID() do generowania identyfikatora GUID w tych aplikacjach.

  • Interfejs API FILESTREAM jest przeznaczony dla Win32 strumieniowych dostępu do danych.Należy unikać Transact-SQL do odczytu lub zapisu FILESTREAM duże obiekty binarne (bloków BLOB) są większe niż 2 MB.Jeśli musi odczytu lub zapisu danych typu BLOB z Transact-SQL, upewnij się, że wszystkich danych typu BLOB jest zużyta, zanim spróbujesz otworzyć BLOB FILESTREAM z systemu Win32.Niepowodzenie wykorzystywać wszystkie Transact-SQL danych może powodować żadnych kolejnych FILESTREAM Otwórz lub zamknij operacje zakończą się niepowodzeniem.

  • Należy unikać Transact-SQL instrukcji, które aktualizacji, Dołącz lub dołączana dane do FILESTREAM BLOB.Powoduje to BLOB dane są buforowane w tempdb bazy danych, a następnie powtórz do nowego pliku fizycznego.

  • Należy unikać dołączane małych aktualizacje BLOB FILESTREAM BLOB.Każdy append powoduje podstawowej FILESTREAM pliki do skopiowania.Jeśli aplikacja ma dołączyć małych obiektów blob, napisz bloków BLOB w varbinary(max) kolumna, a następnie przeprowadzić operacji jednego zapisu do obiektu BLOB FILESTREAM, gdy liczba bloków BLOB osiągnie limit wstępnie.

  • Należy unikać pobierania długość danych partii BLOB pliki w aplikacji.Jest to czas-zużywających operacji, ponieważ rozmiar nie jest przechowywana w Aparat baz danych programu SQL Server.Jeśli trzeba określić długość pliku BLOB, Transact-SQL DATALENGTH() funkcja rozmiar obiektu BLOB, jeśli jest zamknięta.DATALENGTH() nie otwiera pliku BLOB, określić jego rozmiaru.

  • Jeśli aplikacja używa Block1 wiadomości protokół (SMBl) danych typu BLOB FILESTREAM powinny być odczytywane w wielokrotności 60 KB w celu zoptymalizowania wydajności.

Zobacz także

Koncepcje