Udostępnij za pośrednictwem


Najważniejsze wskazówki dotyczące FILESTREAM

W tym temacie opisano zalecane najważniejsze wskazówki dotyczące korzystania z FILESTREAM.

Fizyczne Konfiguracja i obsługa

Gdy użytkownik zestaw zapasowej FILESTREAM woluminów pamięci masowej, należy wziąć pod uwagę następujące wskazówki:

  • Wyłącz krótkich nazw plików w systemach komputerowych FILESTREAM.Krótkich nazw plików trwa znacznie dłużej tworzyć.Aby wyłączyć krótkie nazwy plików, należy użyć systemu Windows fsutil narzędzie.

  • Regularnie defragmentuj FILESTREAM systemów komputerowych.

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

  • Wyłącz indeksowanie FILESTREAM woluminów i zestaw disablelastaccess To zestaw disablelastaccess, należy użyć systemu Windows fsutil narzędzie.

  • Wyłączenie oprogramowania antywirusowego skanowanie FILESTREAM woluminów, gdy nie jest konieczne.Jeżeli skanowanie antywirusowe jest niezbędne, należy unikać ustawiania zasad, które automatycznie usunie pliki powodująca problemy.

  • Służy do ustawiania i strojenie RAID poziom odporności na uszkodzenia i wydajności, które są wymagane przez aplikację.

Poziom RAID

Zapis wydajności

Wydajność odczytu

Odporność na uszkodzenia

Uwagi

RAID 5

Normalny

Normalny

Doskonała

Wydajność jest większa niż jeden dysk lub JBOD; i mniejszą niż RAID 0 lub RAID 5 rozkładanie.

RAID 0

Doskonała

Doskonała

None

RAID 5 + oddzielania

Doskonała

Doskonała

Doskonała

Opcja najbardziej kosztowne.

Fizyczne projekt bazy danych

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

  • Należy dołączyć kolumny FILESTREAM odpowiadającego uniqueidentifier Kolumna ROWGUID. Te rodzaje tabel muszą towarzyszyć indeks unikatowy.Zazwyczaj ten indeks nie jest indeksem klastrowanym.Logika biznesowa baz danych wymaga indeks klastrowany, należy upewnić się, że wartości przechowywane w indeksie nie są losowe.Wartości losowe spowoduje, że indeksu, który ma być zmianę kolejności za każdym razem, wiersz jest dodawane lub usuwane z tabela.

  • Ze względu na wydajność filegroups FILESTREAM i pojemniki powinny rezydują na woluminów innych niż system operacyjny SQL Server Baza danych, SQL Server Dziennik tempdb lub pliku stronicowania.

  • Zarządzanie miejsca i zasady nie są bezpośrednio obsługiwane przez FILESTREAM.Można jednak Zarządzanie miejscem na i zastosowaniu zasad pośrednio przez przypisanie każdą grupę FILESTREAM plików na oddzielnym woluminie i korzystanie z funkcji zarządzania dla woluminu.

Aplikacja projektowanie i wdrażanie

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

  • Reprezentuje kolumna FILESTREAM nie został zainicjowany za pomocą wartości NULL, a nie 0 x.Wartość 0 x powoduje, że plik ma zostać utworzony, a nie ma wartość NULL.

  • Należy unikać Wstawianie i usuwanie operacji w tabelach, które zawierają niepustych kolumn FILESTREAM.Wstawianie i usuwanie operacji można zmodyfikować tabel FILESTREAM, które są używane dla operacji usuwanie elementów bezużytecznych.Może to spowodować, że wydajność aplikacji zmniejszanie czas.

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

  • Interfejs API FILESTREAM został zaprojektowany z myślą o Win32 strumieniowych dostępu do danych.Należy unikać używania Transact-SQL do odczytu lub zapisu FILESTREAM binarne dużych obiektów (bloków BLOB) o rozmiarze większym niż 2 MB. Jeśli użytkownik musi odczytywać lub zapisywać BLOB danych z Transact-SQL, upewnij się, że wszystkie dane BLOB jest zużywany przed podjęciem próby otwarcia obiektu BLOB FILESTREAM z systemu Win32. Błąd wykorzystać wszystkie Transact-SQL dane mogą spowodować, że wszystkie kolejne otwarte FILESTREAM lub zamknij operacji kończy się niepowodzeniem.

  • Należy unikać Transact-SQL instrukcje, które aktualizacji, Dołącz lub dołączana danych BLOB FILESTREAM. Powoduje to, że dane BLOB, które mają być buforowane w bazie danych tempdb, a następnie z powrotem do nowego pliku fizycznego.

  • Należy unikać dołączane BLOB FILESTREAM małych aktualizacje BLOB.Każdy dołączania powoduje podstawowych plików FILESTREAM do skopiowania.Jeśli aplikacja ma dołączyć małych bloków BLOB, napisz bloków BLOB w varbinary(max) kolumna, a następnie zostanie wykonana na BLOB FILESTREAM operacji jednego zapisu, gdy liczba bloków BLOB osiągnie limit wstępnie ustalonych.

  • Należy unikać pobierania długość danych części plików BLOB w aplikacji.Jest to czasochłonna operacja, ponieważ rozmiar nie jest przechowywana w SQL Server Database Engine. Należy określić długość pliku BLOB, użyć Transact-SQL Funkcja DATALENGTH(), aby określić rozmiar to, czy jest zamknięta. DATALENGTH() nie otworzy pliku BLOB, aby określić jego rozmiar.

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

See Also

Concepts