Usare FILESTREAM e FileTable con i gruppi di disponibilità Always On
Si applica a: SQL Server - Solo Windows
Questo articolo contiene informazioni su come usare le funzionalità FILESTREAM e FileTable con i gruppi di disponibilità AlwaysOn in SQL Server.
Tutte le funzionalità FILESTREAM sono supportate. Dopo un failover, i dati FILESTREAM sono accessibili sia nelle repliche secondarie leggibili sia nella nuova primaria.
La funzionalità FileTable è supportata parzialmente. Dopo un failover, i dati FileTable sono accessibili nella replica primaria, ma non nelle repliche secondarie leggibili.
Prerequisiti
- Prima di aggiungere un database in cui è utilizzato FILESTREAM, con o senza FileTable, a un gruppo di disponibilità, verificare che FILESTREAM sia abilitato su ogni istanza del server in cui è ospitata una replica di disponibilità per il gruppo di disponibilità. Per altre informazioni, vedere Enable and Configure FILESTREAM.
- In un cluster di failover basato su Windows Server 2012, è necessario applicare l'hotfix descritto in Non è possibile accedere alla condivisione FILESTREAM VNN quando si usano le funzionalità FILESTREAM e FileTable in un cluster di failover basato su Windows Server 2012 per accedere alla condivisione file usando un nome di rete virtuale (Virtual Network Name). Questo hotfix è disponibile anche in Microsoft Update Catalog.
Utilizzare nomi di rete virtuale per FILESTREAM e accesso a FileTable
Quando si abilita FILESTREAM su un'istanza di SQL Server, viene creata una condivisione del livello di istanza per fornire l'accesso ai dati FILESTREAM. Si accede a questa condivisione tramite il nome computer nel formato seguente:
\\<computer_name>\<filestream_share_name>
In un gruppo di disponibilità AlwaysOn, tuttavia, il nome del computer è virtualizzato tramite un nome di rete virtuale o VNN. Quando il computer è la replica primaria in un gruppo di disponibilità, e i database nel gruppo di disponibilità contengono dati FILESTREAM, allora viene creata anche una condivisione con ambito VNN per fornire l'accesso ai dati FILESTREAM. Non influisce sull'accesso Transact-SQL ai dati FILESTREAM. Nondimeno le applicazioni che utilizzano le API del file system devono utilizzare la condivisione con ambito VNN che ha un percorso con il formato seguente:
\\<VNN>\<filestream_share_name>
Questa condivisione con ambito VNN viene creata quando si verifica uno degli eventi seguenti.
Quando si aggiunge un database che contiene dati FILESTREAM a un gruppo di disponibilità AlwaysOn sulla replica primaria. In questo caso, la condivisione
\\<computer_name>\<filestream_share_name>
già esiste. Viene creata la condivisione\\<VNN>\<filestream_share_name>
.Si abilita FILESTREAM per il file i/o o si trasmette l'accesso su una replica primaria che dispone di gruppi di disponibilità. Vengono create le seguenti condivisioni:
\\<computer_name>\<filestream_share_name>
.\\<VNN1>\<filestream_share_name>
per il gruppo di disponibilità 1.\\<VNN2>\<filestream_share_name>
per il gruppo di disponibilità 2.
Queste condivisioni con ambito VNN vengono propagate anche in tutte le repliche secondarie.
Quando il database che contiene dati FILESTREAM o FileTable appartiene a un gruppo di disponibilità AlwaysOn:
Le funzioni FILESTREAM e FileTable accettano o restituiscono nomi di rete virtuale anziché nomi computer. Per altre informazioni su queste funzioni, vedere Funzioni FileStream e FileTable (Transact-SQL).
Ogni accesso a dati FILESTREAM o FileTable tramite le API del file system deve utilizzare VNN anziché nomi computer.
Se l'applicazione tenta di accedere alla condivisione tramite il nome computer in formato \\<computer_name>\<filestream_share_name>
quando il database fa parte di un gruppo di disponibilità, allora viene generato un errore.
Se l'applicazione tenta di accedere alla condivisione tramite un percorso con ambito VNN quando il database non fa parte di un gruppo di disponibilità, allora la richiesta potrebbe avere esito positivo. In questo caso, il nome della rete virtuale viene risolto nel nome computer. Questo utilizzo è tuttavia sconsigliato vivamente, poiché il percorso con ambito VNN smetterà di funzionare se viene rilasciato il gruppo di disponibilità.