Udostępnij za pośrednictwem


Używanie funkcji FILESTREAM i FileTable z zawsze włączonymi grupami dostępności

Dotyczy:programu SQL Server — tylko system Windows

Ten artykuł zawiera informacje o korzystaniu z funkcji FILESTREAM i FileTable z zawsze włączonymi grupami dostępności w programie SQL Server.

Wszystkie funkcje FILESTREAM są obsługiwane. Po przejściu w tryb failover dane FILESTREAM są dostępne zarówno w replikach pomocniczych z możliwością odczytu, jak i w nowym podstawowym.

Funkcja FileTable jest częściowo obsługiwana. Po przejściu w tryb failover dane fileTable są dostępne w repliki podstawowej, ale dane fileTable nie są dostępne w replikach pomocniczych z możliwością odczytu.

Wymagania wstępne

Używanie nazw sieci wirtualnych (VNN) na potrzeby dostępu FILESTREAM i FileTable

Po włączeniu FILESTREAM w wystąpieniu programu SQL Server, tworzony jest udział, który zapewnia dostęp do danych FILESTREAM na poziomie wystąpienia. Uzyskujesz dostęp do tego udziału, używając nazwy komputera w następującym formacie:

  • \\<computer_name>\<filestream_share_name>

W Grupie dostępności Always On nazwa komputera jest zwirtualizowana przy użyciu Virtualnej Nazwy Sieciowej, czyli VNN. Gdy komputer jest główną repliką w grupie dostępności, a bazy danych w grupie dostępności zawierają dane FILESTREAM, tworzony jest także udział w zakresie VNN, aby zapewnić dostęp do danych FILESTREAM. To nie ma wpływu na dostęp Transact-SQL do danych FILESTREAM. Jednak aplikacje korzystające z interfejsów API systemu plików muszą używać współdzielenia o zakresie VNN, które ma ścieżkę w następującym formacie:

  • \\<VNN>\<filestream_share_name>

Ten udział o zakresie VNN jest tworzony, gdy wystąpi jedno z następujących zdarzeń.

  • Należy dodać bazę danych zawierającą dane FILESTREAM do zawsze włączonej grupy dostępności w repliki podstawowej. W tym przypadku udział \\<computer_name>\<filestream_share_name> już istnieje. \\<VNN>\<filestream_share_name> Udział został utworzony.

  • Funkcję FILESTREAM można włączyć dla dostępu do przesyłania strumieniowego plików we/wy w repliki podstawowej, która ma grupy dostępności. Tworzone są następujące udziały:

    1. \\<computer_name>\<filestream_share_name>.
    2. \\<VNN1>\<filestream_share_name> dla grupy dostępności 1.
    3. \\<VNN2>\<filestream_share_name> dla 2. grupy dostępności.

Te udziały o zakresie sieci VNN są również propagowane do wszystkich replik drugorzędnych.

Gdy baza danych zawierająca dane FILESTREAM lub FileTable należy do zawsze włączonej grupy dostępności:

  • Funkcje FILESTREAM i FileTable akceptują lub zwracają nazwy sieci wirtualnych (VNN) zamiast nazw komputerów. Aby uzyskać więcej informacji na temat tych funkcji, zobacz FILESTREAM i FileTable Functions (Transact-SQL).

  • Cały dostęp do danych FILESTREAM lub FileTable za pośrednictwem interfejsów API systemu plików powinien używać VNN zamiast nazw komputerów.

Jeśli aplikacja próbuje uzyskać dostęp do zasobu przy użyciu nazwy komputera w formacie \\<computer_name>\<filestream_share_name> , gdy baza danych jest częścią grupy dostępności, zostanie zgłoszony błąd.

Jeśli aplikacja próbuje uzyskać dostęp do udziału przy użyciu ścieżki o zakresie sieci wirtualnej, gdy baza danych nie jest częścią grupy dostępności, żądanie może zakończyć się powodzeniem. W takim przypadku nazwa sieci wirtualnej jest rozpoznawana jako nazwa komputera. Jednak to użycie jest zdecydowanie odradzane, ponieważ ścieżka w zakresie wirtualnej sieci (VNN) przestanie działać, jeśli grupa dostępności zostanie usunięta.