Share via


FileTable (SQL Server)

La funzionalità FileTable offre il supporto per lo spazio dei nomi dei file di Windows e la compatibilità con le applicazioni Windows ai dati dei file archiviati in SQL Server. FileTable consente l'integrazione dei componenti di archiviazione e gestione dei dati da parte di un'applicazione e fornisce servizi di SQL Server integrati, incluse la ricerca full-text e la ricerca semantica, su dati e metadati non strutturati.

In altre parole, è possibile archiviare file e documenti in tabelle speciali in SQL Server denominate Tabelle FileTable, ma accedervi da applicazioni Windows come se fossero archiviate nel file system, senza apportare modifiche alle applicazioni client.

La funzionalità FileTable si basa su SQL Server tecnologia FILESTREAM. Per altre informazioni su FILESTREAM, vedere FILESTREAM (SQL Server).

Vantaggi della caratteristica FileTable

Tra gli obiettivi della caratteristica FileTable sono inclusi i seguenti:

  • Compatibilità dell'API Windows per i dati dei file archiviati all'interno di un database SQL Server. La compatibilità con le API Windows include gli elementi seguenti:

    • Accesso tramite flusso non transazionale e aggiornamenti sul posto ai dati FILESTREAM.

    • Spazio dei nomi gerarchico di directory e file.

    • Archiviazione di attributi dei file, quali data di creazione e data di modifica.

    • Supporto per API di gestione di file e directory di Windows.

  • Compatibilità con altre funzionalità di SQL Server, tra cui strumenti di gestione, servizi e funzionalità di query relazionali sui dati degli attributi file e FILESTREAM.

Pertanto, le tabelle FileTable eliminano una barriera significativa all'uso di SQL Server per l'archiviazione e la gestione di dati non strutturati attualmente presenti come file nei file server. Le aziende possono spostare questi dati da file server a tabelle FileTable per sfruttare l'amministrazione integrata e i servizi forniti da SQL Server. Contemporaneamente, le organizzazioni possono gestire la compatibilità delle applicazioni di Windows che riconoscono tali dati come file nel file system.

Definizione di tabella FileTable

SQL Server fornisce una tabella speciale di file, detta anche tabella FileTable, per le applicazioni che richiedono l'archiviazione di file e directory nel database, con compatibilità dell'API Windows e accesso non transazionale. Il termine FileTable indica una tabella utente specifica con uno schema predefinito per l'archiviazione di dati FILESTREAM, nonché informazioni sulla gerarchia di file e directory e attributi di file.

Una tabella FileTable offre le funzionalità seguenti:

  • Una tabella FileTable rappresenta una gerarchia di directory e file. In tale tabella sono archiviati i dati correlati a tutti i nodi nella gerarchia, sia per le directory sia per i file inclusi in tali nodi. Questa gerarchia inizia da una directory radice specificata durante la creazione della tabella FileTable.

  • Ogni riga in una tabella FileTable rappresenta un file o una directory.

  • Ogni riga contiene i seguenti elementi. Per altre informazioni sullo schema di una tabella FileTable, vedere Schema delle tabelle FileTable.

    • Una colonnafile_stream per dati del flusso e un identificatore stream_id (GUID). La colonna file_stream è NULL per una directory.

    • Entrambe le colonne path_locator e parent_path_locator per la rappresentazione e la gestione della gerarchia di file e directory.

    • 10 attributi di file, quali data di creazione e data di modifica, utili con le API di I/O dei file.

    • Una colonna Type che supporta la ricerca full-text e la ricerca semantica su file e documenti.

  • Una tabella FileTable applica determinati vincoli e trigger definiti dal sistema per gestire la semantica degli spazi dei nomi dei file.

  • Quando il database è configurato per l'accesso non transazionale, la gerarchia di file e directory rappresentata nella tabella FileTable viene esposta nella condivisione FILESTREAM configurata per l'istanza di SQL Server. In questo modo, viene fornito l'accesso al file system per applicazioni Windows.

Tra le caratteristiche aggiuntive delle tabelle FileTable sono incluse le seguenti:

  • I dati di file e directory archiviati in una tabella FileTable vengono esposti tramite una condivisione di Windows per l'accesso non transazionale ai file per applicazioni basate su API Windows. Per un'applicazione Windows, questa è simile a una condivisione normale con i file e le directory. Le applicazioni possono utilizzare un vasta gamma di API Windows per gestire i file e le directory inclusi in questa condivisione.

  • La gerarchia di directory rappresentata tramite la condivisione è una struttura di directory puramente logica gestita all'interno della tabella FileTable.

  • Le chiamate per creare o modificare un file o una directory tramite la condivisione di Windows vengono intercettate da un componente SQL Server e riflesse nei dati relazionali corrispondenti nella tabella FileTable.

  • Le operazioni delle API Windows sono di natura non transazionale e non sono associate alle transazioni utente. L'accesso transazionale ai dati FILESTREAM archiviati in una tabella FileTable, tuttavia, è completamente supportato, come nel caso di qualsiasi colonna FILESTREAM in una normale tabella.

  • È inoltre possibile eseguire query su tabelle FileTable e aggiornarle tramite normale accesso Transact-SQL. Sono inoltre integrati con strumenti di gestione SQL Server e funzionalità come il backup.

Ulteriori considerazioni sull'utilizzo di tabelle FileTable

Considerazioni sull'amministrazione

Informazioni su FILESTREAM e tabelle FileTable

  • È necessario configurare tabelle FileTable separatamente da FILESTREAM. È pertanto possibile continuare a utilizzare la caratteristica FILESTREAM senza abilitare l'accesso non transazionale o creare tabelle FileTable.

  • Non è disponibile alcun accesso non transazionale a dati FILESTREAM se non tramite tabelle FileTable. Quando si abilita l'accesso non transazionale, pertanto, il comportamento delle applicazioni e delle colonne FILESTREAM esistenti non subisce modifiche.

Informazioni sulle tabelle FileTable e l'accesso non transazionale

  • È possibile abilitare o disabilitare l'accesso non transazionale a livello di database.

  • È possibile configurare o ottimizzare l'accesso non transazionale a livello di database disabilitando o abilitando l'accesso in sola lettura o in lettura/scrittura.

Mancanza di supporto di file con mapping in memoria per le tabelle FileTable

Le tabelle FileTable non supportano file con mapping in memoria. Blocco note e Paint sono due esempi comuni di applicazioni in cui vengono utilizzati file con mapping in memoria. Non è possibile utilizzare queste applicazioni nello stesso computer di SQL Server per aprire i file archiviati in una tabella FileTable. Tuttavia è possibile utilizzare queste applicazioni da un computer remoto per aprire file archiviati in una tabella FileTable, perché in queste circostanze la caratteristica con mapping in memoria non viene utilizzata.

Attività correlate

Abilitare i prerequisiti per la tabella FileTable
Viene descritto come abilitare i prerequisiti per la creazione e l'utilizzo di tabelle FileTable.

Creare, modificare ed eliminare FileTable
Viene descritto come creare una nuova tabella FileTable o modificarne o eliminarne una esistente.

Caricare file in FileTable
Viene descritto come caricare o eseguire la migrazione dei file in tabelle FileTable.

Usare directory e percorsi in FileTable
Descrive la struttura di directory nella quale vengono archiviati i file in FileTable.

Accedere a tabelle FileTable tramite Transact-SQL
Viene descritto il funzionamento dei comandi Transact-SQL DML (Data Manipulation Language) con una tabella FileTable.

Accedere alle tabelle FileTable con API di input/output dei file
Viene descritto il funzionamento dell'I/O del file system in una tabella FileTable.

Gestire tabelle FileTable
Vengono descritte attività amministrative comuni per la gestione di tabelle FileTable.

Contenuto correlato

Schema delle tabelle FileTable
Viene descritto lo schema predefinito e fisso di una tabella FileTable.

Compatibilità di FileTable con altre funzionalità di SQL Server
Viene descritto il funzionamento delle tabelle FileTable con altre caratteristiche di SQL Server.

DDL, funzioni, stored procedure e viste FileTable
Elenca le istruzioni Transact-SQL e gli oggetti di database SQL Server aggiunti o modificati per supportare la funzionalità FileTable.