FileTables (SQL Server)

Die FileTable-Funktion bietet für die in SQL Server gespeicherten Dateidaten Unterstützung für den Windows-Dateinamespace und die Kompatibilität mit Windows-Anwendungen. Mit FileTable können das Speichersystem und die Datenverwaltungskomponenten einer Anwendung integriert werden. Zudem werden integrierte SQL Server-Dienste (z. B. Volltextsuche und semantische Suche) über unstrukturierte Daten und Metadaten bereitgestellt.

So können Sie Dateien und Dokumente in besonderen Tabellen in SQL Server speichern, die als FileTables bezeichnet werden, und auf diese über Windows-Anwendungen zugreifen, so als ob sie im Dateisystem gespeichert wären, ohne Clientanwendungen ändern zu müssen.

Die FileTable-Funktion basiert auf der SQL Server FILESTREAM-Technologie. Weitere Informationen zu FILESTREAM finden Sie unter FILESTREAM (SQL Server).

In diesem Thema

  • Vorteile der FileTable-Funktion

  • Was sind FileTables?

  • Weitere Überlegungen zum Verwenden von FileTables

    • Überlegungen zur Verwaltung

    • FileTables unterstützen keine Speicherabbilddateien

  • Verwandte Aufgaben

  • Verwandte Inhalte

Vorteile der FileTable-Funktion

Die Ziele der FileTable-Funktion umfassen Folgendes:

  • Windows-API-Kompatibilität für Dateidaten, die in einer SQL Server-Datenbank gespeichert sind. Die Windows-API-Kompatibilität schließt Folgendes ein:

    • Nicht transaktionaler Streamingzugriff und direkte Updates an FILESTREAM-Daten.

    • Ein hierarchischer Namespace von Verzeichnissen und Dateien.

    • Speichern von Dateiattributen, z. B. Erstellungsdatum und Änderungsdatum.

    • Unterstützung von APIs für die Windows-Datei- und Verzeichnisverwaltung.

  • Kompatibilität mit anderen SQL Server-Funktionen, einschließlich Verwaltungstools, Diensten und relationalen Abfragefunktionen über FILESTREAM und Dateiattributdaten.

FileTables beseitigen ein großes Hindernis bei der Verwendung von SQL Server zum Speichern und Verwalten unstrukturierter Daten, die zu aktuell als Dateien auf Dateiservern gespeichert sind. Unternehmen können diesen Daten von Dateiservern in FileTables verschieben, um die von SQL Server bereitgestellten integrierten Verwaltungsfunktionen und Dienste verwenden zu können. Gleichzeitig kann die Windows-Anwendungskompatibilität für vorhandene Windows-Anwendungen aufrechterhalten werden, die diese Daten als Dateien im Dateisystem betrachten.

[NACH OBEN]

Was sind FileTables?

SQL Server umfasst für Anwendungen, für die ein Datei- und Verzeichnisspeicher in der Datenbank mit Kompatibilität mit Windows-APIs und nicht transaktionalem Zugriff erforderlich ist, eine besondere Dateitabelle, die auch als FileTable bezeichnet wird. FileTables sind spezielle Benutzertabellen mit einem vordefinierten Schema. Darin können FILESTREAM-Daten, Informationen zur Datei- und Verzeichnishierarchie sowie Dateiattribute gespeichert werden.

Eine FileTable bietet die folgende Funktionalität:

  • Eine FileTable stellt eine Hierarchie von Verzeichnissen und Dateien dar. Sie speichert Daten zu allen Knoten in dieser Hierarchie, sowohl für Verzeichnisse als auch für die Dateien, die sie enthält. Diese Hierarchie beginnt bei einem Stammverzeichnis, das Sie angeben, wenn Sie die FileTable erstellen.

  • Jede Zeile in einer FileTable stellt eine Datei oder ein Verzeichnis dar.

  • Jede Zeile enthält die im Folgenden aufgeführten Elemente. Weitere Informationen zum Schema einer FileTable finden Sie unter FileTable-Schema.

    • Eine file_stream-Spalte für Datenstromdaten und ein stream_id (GUID)-Bezeichner. (Die file_stream-Spalte für ein Verzeichnis ist NULL.)

    • Sowohl die path_locator-Spalte als auch die parent_path_locator-Spalte zur Darstellung und Verwaltung der Datei- und Verzeichnishierarchie.

    • 10 Dateiattribute, z. B. Erstellungsdatum und Änderungsdatum, die von Datei-E/A-APIs benötigt werden.

    • Eine Typspalte, die die Volltextsuche und die semantische Suche für Dateien und Dokumente unterstützt.

  • Eine FileTable erzwingt bestimmte systemdefinierte Einschränkungen und Trigger, um die Dateinamespacesemantik beizubehalten.

  • Wenn die Datenbank für nicht transaktionalen Zugriff konfiguriert ist, wird die in der FileTable dargestellte Datei- und Verzeichnishierarchie in der für die SQL Server-Instanz konfigurierten FILESTREAM-Freigabe verfügbar gemacht. Dadurch wird der Dateisystemzugriff für Windows-Anwendungen bereitgestellt.

Einige zusätzliche Eigenschaften von FileTables umfassen Folgendes:

  • Die Datei- und Verzeichnisdaten, die in einer FileTable gespeichert sind, werden durch eine Windows-Freigabe für nicht transaktionalen Dateizugriff für Windows-API-basierte Anwendungen verfügbar gemacht. Für eine Windows-Anwendung sieht dies wie eine normale Freigabe mit Dateien und Verzeichnissen aus. Anwendungen können die Dateien und die Verzeichnisse in dieser Freigabe mithilfe eines umfangreichen Satzes von Windows-APIs verwalten.

  • Bei der Verzeichnishierarchie, die über die Freigabe angegeben wird, handelt es sich um eine rein logische Verzeichnisstruktur, die innerhalb der FileTable beibehalten wird.

  • Aufrufe zum Erstellen oder Ändern einer Datei oder eines Verzeichnisses über die Windows-Freigabe werden von einer SQL Server-Komponente abgefangen und in der FileTable in den entsprechenden relationalen Daten wiedergegeben.

  • Windows-API-Vorgänge sind von ihrem Wesen her nicht transaktional und sind nicht Benutzertransaktionen zugeordnet. Transaktionszugriff auf FILESTREAM-Daten, die in einer FileTable gespeichert sind, wird jedoch vollständig unterstützt, wie dies auch bei FILESTREAM-Spalten in einer regulären Tabelle der Fall ist.

  • FileTables können auch über den normalen Transact-SQL-Zugriff abgefragt und aktualisiert werden. Sie werden auch in SQL Server-Verwaltungstools und -funktionen, z. B. die Sicherung, integriert.

[NACH OBEN]

Weitere Überlegungen zum Verwenden von FileTables

Überlegungen zur Verwaltung

Informationen zu FILESTREAM und FileTables

  • FileTables werden getrennt von FILESTREAM konfiguriert. Sie können daher weiterhin die FILESTREAM-Funktion verwenden, ohne den nicht transaktionalem Zugriff zu aktivieren oder FileTables zu erstellen.

  • Es gibt keinen nicht transaktionalen Zugriff auf FILESTREAM-Daten außer durch FileTables. Wenn Sie daher den nicht transaktionalen Zugriff aktivieren, hat dies keine Auswirkungen auf das Verhalten vorhandener FILESTREAM-Spalten und Anwendungen.

Informationen zu FileTables und nicht transaktionalem Zugriff

  • Sie können den nicht transaktionalen Zugriff auf Datenbankebene aktivieren bzw. deaktivieren.

  • Der nicht transaktionale Zugriff kann auf Datenbankebene konfiguriert oder optimiert werden, indem Sie ihn ausschalten oder nur den Lesezugriff bzw. den vollständigen Lese-/Schreibzugriff aktivieren.

[NACH OBEN]

FileTables unterstützen keine Speicherabbilddateien

FileTables unterstützen keine Speicherabbilddateien Editor und Paint sind zwei häufige Beispiele für Anwendungen, die Speicherabbilddateien verwenden. Sie können diese Anwendungen nicht auf dem gleichen Computer wie SQL Server verwenden, um in einer FileTable gespeicherte Dateien zu öffnen. Sie können diese Anwendungen jedoch auf einem Remotecomputer verwenden, um in einer FileTable gespeicherte Dateien zu öffnen, da die Speicherabbildfunktion unter diesen Umständen nicht verwendet wird.

[NACH OBEN]

Verwandte Aufgaben

[NACH OBEN]

Verwandte Inhalte

[NACH OBEN]