Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция FileTable обеспечивает поддержку пространства имен файлов Windows и совместимости с приложениями Windows к данным файлов, хранящимся в SQL Server. FileTable позволяет приложению интегрировать свои компоненты хранения и управления данными и предоставляет интегрированные службы SQL Server, включая полнотекстовый поиск и семантический поиск по неструктурированным данным и метаданным.
Другими словами, файлы и документы можно хранить в специальных таблицах в SQL Server с именем FileTables, но получить доступ к ним из приложений Windows, как будто они были сохранены в файловой системе, без внесения изменений в клиентские приложения.
Функция FileTable основана на технологии SQL Server FILESTREAM. Дополнительные сведения о FILESTREAM см. в разделе FILESTREAM (SQL Server).
Преимущества функции FileTable
К целям функции FileTable относятся следующие:
Совместимость API Windows для файлов, хранящихся в базе данных SQL Server. Совместимость API Windows включает в себя следующее:
Доступ к потоковому не транзакционному доступу и обновлениям непосредственно в данных FILESTREAM.
Иерархическое пространство имен каталогов и файлов.
Хранение атрибутов файла, таких как дата создания и измененная дата.
Поддержка API управления файлами и каталогами Windows.
Совместимость с другими функциями SQL Server, включая средства управления, службы и возможности реляционных запросов через FILESTREAM и данные атрибута файла.
Таким образом, FileTables удаляют значительный барьер для использования SQL Server для хранения и управления неструктурированными данными, которые в настоящее время находятся в качестве файлов на файловых серверах. Предприятия могут перемещать эти данные с файловых серверов в FileTables, чтобы воспользоваться преимуществами интегрированного администрирования и служб, предоставляемых SQL Server. В то же время они могут поддерживать совместимость своих существующих приложений Windows для работы с данными, которые эти приложения видят как файлы в файловой системе.
Что такое FileTable?
SQL Server предоставляет специальную таблицу файлов, которая также называется FileTable, для приложений, требующих хранения файлов и каталогов в базе данных, с совместимостью API Windows и доступом без транзакций. FileTable — это специализированная пользовательская таблица с предварительно определенной схемой, в которой хранятся данные FILESTREAM, а также сведения о иерархии файлов и каталогов и атрибуты файлов.
FileTable предоставляет следующие функции:
FileTable представляет иерархию каталогов и файлов. Он сохраняет данные, связанные со всеми узлами в этой иерархии, как для каталогов, так и для файлов, которые они содержат. Эта иерархия начинается с корневого каталога, указанного при создании таблицы FileTable.
Каждая строка в FileTable представляет файл или каталог.
Каждая строка содержит следующие элементы. Дополнительные сведения о схеме FileTable см. в разделе "Схема FileTable".
Столбец file_stream для потоковых данных и идентификатор stream_id (GUID). (Столбец file_stream имеет значение NULL для каталога.)
Столбцы path_locator и parent_path_locator для представления и поддержания иерархии файлов и каталогов.
10 атрибутов файла, таких как дата создания и измененная дата, полезные для API-интерфейсов ввода-вывода файлов.
Столбец типа, поддерживающий полнотекстовый поиск и семантический поиск по файлам и документам.
FileTable применяет определенные системные ограничения и триггеры для поддержания семантики пространства имен файлов.
Если база данных настроена для доступа без транзакций, иерархия файлов и каталогов, представленная в FileTable, предоставляется в общей папке FILESTREAM, настроенной для экземпляра SQL Server. Это обеспечивает доступ к файловой системе для приложений Windows.
Ниже приведены некоторые дополнительные характеристики FileTables:
Данные файлов и каталогов, хранящиеся в FileTable, предоставляются через общую папку Windows для доступа к файлам без транзакций для приложений на основе API Windows. Для приложения Windows это представляется как обычный общий доступ со своими файлами и каталогами. Приложения могут использовать широкий набор API Windows для управления файлами и каталогами в этой общей папке.
Иерархия каталогов, отображаемая через общую папку, является чисто логической структурой каталогов, которая поддерживается в FileTable.
Вызовы для создания или изменения файла или каталога с помощью общей папки Windows перехватываются компонентом SQL Server и отражаются в соответствующих реляционных данных в FileTable.
Операции API Windows не являются транзакциями в природе и не связаны с транзакциями пользователей. Однако транзакционный доступ к данным FILESTREAM, хранящимся в FileTable, полностью поддерживается, как и для любого столбца FILESTREAM в обычной таблице.
FileTables также можно запрашивать и обновлять с помощью обычного Transact-SQL доступа. Они также интегрированы с инструментами управления SQL Server и функциями, такими как резервное копирование.
Дополнительные рекомендации по использованию fileTables
Административные соображения
Сведения о FILESTREAM и FileTables
Вы настраиваете таблицы FileTable отдельно от FILESTREAM. Таким образом, вы можете продолжать использовать функцию FILESTREAM, не включая нетранзакционный доступ или создавая FileTables.
Нет нетранзакционного доступа к данным FILESTREAM, кроме как через FileTables. Поэтому при включении доступа без транзакций поведение существующих столбцов и приложений FILESTREAM не изменяется.
Сведения о fileTables и доступе без транзакций
Вы можете включить или отключить доступ, отличный от транзакций, на уровне базы данных.
Вы можете настроить или тонко изменить доступ без транзакций на уровне базы данных, отключив его или включив доступ только для чтения либо полный доступ для чтения и записи.
FileTables не поддерживают файлы Memory-Mapped
Таблицы FileTable не поддерживают файлы с отображением памяти. Блокнот и Paint — это два распространенных примера приложений, использующих сопоставленные с памятью файлы. Эти приложения нельзя использовать на том же компьютере, что и SQL Server, для открытия файлов, хранящихся в FileTable. Однако эти приложения можно использовать с удаленного компьютера для открытия файлов, хранящихся в FileTable, так как в этих случаях функция сопоставления памяти не используется.
Связанные задачи
Включение необходимых компонентов для FileTable
Описывает способ включения компонентов, обязательных для создания и использования таблиц FileTable.
Создание, изменение и удаление таблиц FileTables
Описывает, как создать таблицу FileTable или изменить или удалить существующую таблицу FileTable.
Загрузка файлов в таблицы FileTable
Описывает процедуру загрузки или переноса файлов в таблицы FileTable.
Работа с каталогами и путями в FileTables
Описывает структуру каталогов, в которой файлы хранятся в таблицах FileTable.
Доступ к таблицам FileTable с помощью Transact-SQL
Описывает, как команды языка обработки данных (DML) Transact-SQL работают с FileTables.
Доступ к таблицам FileTable с помощью API-интерфейсов ввода-вывода файлов
Как работает файловая система ввода-вывода на FileTable.
Управление FileTable
Описывает стандартные административные задачи по управлению таблицами FileTables.
Связанные материалы
Схема FileTable
Описывает предопределенную и фиксированную схему таблицы FileTable.
Совместимость FileTable с другими компонентами SQL Server
Описывает работу FileTables с другими функциями SQL Server.
FileTable DDL, функции, хранимые процедуры и представления
Выводит список инструкций Transact-SQL и объектов базы данных SQL Server, которые были добавлены или изменены для поддержки функции FileTable.