Sdílet prostřednictvím


Použití FILESTREAM a FileTable se skupinami dostupnosti Always On

platí pro:SQL Server – jenom Windows

Tento článek obsahuje informace o používání funkcí FILESTREAM a FileTable se skupinami dostupnosti AlwaysOn na SQL Serveru.

Všechny funkce FILESTREAM jsou podporovány. Po převzetí služeb při selhání jsou data FILESTREAM přístupná jak na čitelných sekundárních replikách, tak na novém primárním serveru.

Funkce FileTable je částečně podporovaná. Po převzetí služeb při selhání jsou data FileTable přístupná na primární replice, ale data FileTable nejsou přístupná pro čitelné sekundární repliky.

Požadavky

Použití názvů virtuálních sítí (VNN) pro přístup FILESTREAM a FileTable

Když povolíte FILESTREAM na instanci SQL Serveru, vytvoří se sdílená složka na úrovni instance, která poskytuje přístup k datům FILESTREAM. K této sdílené složce se dostanete pomocí názvu počítače v následujícím formátu:

  • \\<computer_name>\<filestream_share_name>

Ve skupině dostupnosti Always On se ale název počítače virtualizuje pomocí virtuálního názvu sítě (VNN). Pokud je počítač primární replikou ve skupině dostupnosti a databáze ve skupině dostupnosti obsahují data FILESTREAM, vytvoří se také sdílená složka v oboru sítě VNN, která poskytuje přístup k datům FILESTREAM. To nemá vliv na Transact-SQL přístup k datům FILESTREAM. Aplikace, které používají rozhraní API systému souborů, musí využívat sdílenou složku v rámci sítě VNN, která má cestu v následujícím formátu:

  • \\<VNN>\<filestream_share_name>

Sdílení v rámci VNN se vytvoří, když dojde k jedné z následujících událostí.

  • Přidáte databázi obsahující data FILESTREAM do skupiny dostupnosti AlwaysOn na primární replice. V tomto případě už sdílená složka \\<computer_name>\<filestream_share_name> existuje. Sdílená složka \\<VNN>\<filestream_share_name> se vytvoří.

  • U primární repliky, která má skupiny dostupnosti, povolíte fileSTREAM pro přístup ke streamování souborů i/o. Vytvoří se následující akcie:

    1. \\<computer_name>\<filestream_share_name>.
    2. \\<VNN1>\<filestream_share_name> pro skupinu dostupnosti 1.
    3. \\<VNN2>\<filestream_share_name> pro skupinu dostupnosti 2.

Tyto podíly určené prostřednictvím VNN se také přenáší do všech sekundárních replik.

Pokud databáze obsahující data FILESTREAM nebo FileTable patří do skupiny dostupnosti AlwaysOn:

  • Funkce FILESTREAM a FileTable přijímají nebo vracejí názvy virtuálních sítí (VNN) místo názvů počítačů. Další informace o těchto funkcích naleznete v tématu FILESTREAM a FileTable Functions (Transact-SQL).

  • Veškerý přístup k datům FILESTREAM nebo FileTable prostřednictvím rozhraní API systému souborů by měl místo názvů počítačů používat sítě VN.

Pokud se vaše aplikace pokusí o přístup ke sdílené složce pomocí názvu počítače ve formátu \\<computer_name>\<filestream_share_name> , když je databáze součástí skupiny dostupnosti, dojde k chybě.

Pokud se vaše aplikace pokusí o přístup ke sdílené složce pomocí cesty s vymezeným virtuální sítí VNN, pokud databáze není součástí skupiny dostupnosti, může být požadavek úspěšný. V tomto případě se název virtuální sítě přeloží na název počítače. Nicméně toto použití se důrazně nedoporučuje, protože cesta vymezená virtuální sítí VNN přestane fungovat, pokud bude skupina dostupnosti vyřazena.