Dela via


Använda FILESTREAM och FileTable med AlwaysOn-tillgänglighetsgrupper

gäller för:SQL Server – endast Windows

Den här artikeln innehåller information om hur du använder funktionerna FILESTREAM och FileTable med AlwaysOn-tillgänglighetsgrupper i SQL Server.

Alla FILESTREAM-funktioner stöds. Efter en redundansväxling är FILESTREAM-data tillgängliga på både läsbara sekundära repliker och på den nya primära.

FileTable-funktioner stöds delvis. Efter en redundansväxling är data i FileTable tillgängliga via den primära repliken, men data i FileTable är inte tillgängliga på läsbara sekundära repliker.

Förutsättningar

Använda virtuella nätverksnamn (VNN) för FILESTREAM- och FileTable-åtkomst

När du aktiverar FILESTREAM på en instans av SQL Server skapas en resurs på instansnivå för att ge åtkomst till FILESTREAM-data. Du kommer åt den här resursen med hjälp av datornamnet i följande format:

  • \\<computer_name>\<filestream_share_name>

I en AlwaysOn-tillgänglighetsgrupp virtualiseras dock namnet på datorn med hjälp av ett virtuellt nätverksnamn eller VNN. När datorn är den primära repliken i en tillgänglighetsgrupp och databaser i tillgänglighetsgruppen innehåller FILESTREAM-data skapas även en VNN-begränsad resurs för att ge åtkomst till FILESTREAM-data. Detta påverkar inte Transact-SQL åtkomst till FILESTREAM-data. Program som använder filsystem-API:er måste dock använda VNN-begränsad delning, som har en sökväg i följande format:

  • \\<VNN>\<filestream_share_name>

Den här VNN-begränsade andelen skapas när någon av följande händelser inträffar.

  • Du lägger till en databas som innehåller FILESTREAM-data i en AlwaysOn-tillgänglighetsgrupp på den primära repliken. I det här fallet finns resursen \\<computer_name>\<filestream_share_name> redan. Andelen \\<VNN>\<filestream_share_name> skapas.

  • Du aktiverar FILESTREAM för filströmningsåtkomst (file i/o) på en primär replika som har tillgänglighetsgrupperna. Följande aktier skapas:

    1. \\<computer_name>\<filestream_share_name>.
    2. \\<VNN1>\<filestream_share_name> för tillgänglighetsgrupp 1.
    3. \\<VNN2>\<filestream_share_name> för tillgänglighetsgrupp 2.

Dessa VNN-begränsade delningar propageras även till alla sekundära repliker.

När databasen som innehåller FILESTREAM- eller FileTable-data tillhör en AlwaysOn-tillgänglighetsgrupp:

  • Funktionerna FILESTREAM och FileTable accepterar eller returnerar virtuella nätverksnamn (VNN) i stället för datornamn. Mer information om dessa funktioner finns i FILESTREAM- och FileTable Functions (Transact-SQL).

  • All åtkomst till FILESTREAM- eller FileTable-data via filsystemets API:er bör använda virtuella nätverksnamn (VNNs) i stället för datornamn.

Om programmet försöker komma åt resursen med hjälp av datornamnet i formatet \\<computer_name>\<filestream_share_name> när databasen ingår i en tillgänglighetsgrupp utlöses ett fel.

Om ditt program försöker komma åt resursen med hjälp av en VNN-begränsad sökväg när databasen inte ingår i en tillgänglighetsgrupp kan begäran lyckas. I det här fallet matchas namnet på det virtuella nätverket till datornamnet. Den här användningen rekommenderas dock inte eftersom den VNN-begränsade sökvägen slutar fungera om tillgänglighetsgruppen tas bort.