Таблицы FileTable (SQL Server)
Функция FileTable обеспечивает поддержку пространства имен файлов Windows и совместимость с приложениями Windows для файлов данных, хранящихся в SQL Server. Таблица FileTable позволяет приложению интегрировать свои компоненты хранения и управления данными, а также обеспечивает работу интегрированных служб SQL Server, включая полнотекстовый и семантический поиск, с неструктурированными данными и метаданными.
Иными словами, появляется возможность хранить файлы и документы в специальных таблицах на SQL Server, называемых таблицами FileTable, но при этом доступ к ним возможен из приложений Windows без внесения каких-либо изменений в эти приложения, как если бы они хранились в файловой системе.
Функция FileTable построена на основе технологии SQL Server FILESTREAM. Дополнительные сведения о FILESTREAM см. в разделе FILESTREAM (SQL Server).
В этом разделе
Преимущества функции FileTable
Что такое таблица FileTable?
Дополнительные замечания об использовании таблиц FileTable
Вопросы управления
Таблицы FileTable не поддерживают файлы, отображенные на память
Связанные задачи
См. также
Преимущества функции FileTable
Таблицы FileTable имеют следующее назначение.
Совместимость с API-интерфейсами Windows для файлов данных, хранящихся в базе данных SQL Server. Совместимость с API-интерфейсами Windows включает следующее.
Потоковый доступ без транзакций и обновление на месте с заменой данных FILESTREAM.
Иерархическое пространство имен для каталогов и файлов.
Хранение атрибутов файлов, таких как дата создания и дата изменения.
Поддержка API-интерфейсов Windows для управления файлами и каталогами.
Совместимость с другими функциями SQL Server, включая средства управления, службы и возможности реляционных запросов через FILESTREAM и данные атрибутов файлов.
Таким образом, таблицы FileTable позволяют перешагнуть барьер, препятствовавший использованию SQL Server для хранения неструктурированных данных и управления данными, которые в настоящее время размещаются в виде файлов на файловом сервере. Предприятия получили возможность перенести данные с файловых серверов в таблицы FileTable, чтобы пользоваться и преимуществами интегрированного администрирования, и преимуществами служб, предоставляемыми SQL Server. В то же время сохраняется совместимость с существующими приложениями Windows, рассматривающими данные как файлы в файловой системе.
[В начало]
Что такое таблица FileTable?
Для приложений, требующих хранения файлов и каталогов в базе данных, совместимости с API-интерфейсами Windows и нетранзакционного доступа к данным, SQL Server предоставляет специальные таблицы файлов, которые также называются таблицами FileTable. Таблицы 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 к файловой системе.
Ниже перечислены некоторые дополнительные характеристики таблиц FileTable.
Данные файлов и каталогов, хранящиеся в таблице FileTable, отображаются с помощью общего ресурса Windows для нетранзакционного доступа к файлам из приложений на основе API-интерфейсов Windows. Для приложения Windows это выглядит как обычная общая папка с файлами и каталогами. Приложения могут использовать богатый набор API-интерфейсов Windows для управления файлами и каталогами, находящимися в этой общей папке.
Иерархия каталогов, отображаемая в общем хранилище, является просто логической структурой каталога, сохраняемой в таблице FileTable.
Вызовы для создания или изменения файла или каталога через общий ресурс Windows перехватываются компонентом SQL Server и отражаются в соответствующих реляционных данных в таблице FileTable.
Операции API-интерфейсов Windows являются по своей природе нетранзакционными и не связаны с пользовательскими транзакциями. Тем не менее транзакционный доступ к данным FILESTREAM, хранящимся в таблице FileTable, полностью поддерживается, как это происходит для любого столбца FILESTREAM в обычной таблице.
Кроме того, таблицы FileTable можно запрашивать и обновлять с помощью обычного доступа Transact-SQL. Они интегрируются со средствами управления SQL Server и такими компонентами, как средство резервного копирования.
[В начало]
Дополнительные замечания об использовании таблиц FileTable
Вопросы управления
О функции FILESTREAM и таблицах FileTable
Можно настроить таблицы FileTable отдельно от FILESTREAM. Таким образом, можно продолжать пользоваться функцией FILESTREAM, не включая нетранзакционный доступ и не создавая таблицы FileTable.
Нетранзакционный доступ к данным FILESTREAM возможен исключительно с помощью таблиц FileTable. Таким образом, при включении нетранзакционного доступа поведение существующих столбцов FILESTREAM и приложений не изменяется.
О таблицах FileTable и нетранзакционном доступе
Можно включить или отключить нетранзакционный доступ на уровне базы данных.
Можно настроить или отрегулировать нетранзакционный доступ на уровне базы данных, отключив или включив доступ только для чтения или полный доступ для чтения и записи.
[В начало]
Таблицы FileTable не поддерживают файлы, отображенные на память
Таблицы FileTable не поддерживают файлы, отображенные на память. Двумя распространенными примерами приложений, в которых используются файлы, отображаемые на память, являются Notepad и Paint. Эти приложения нельзя использовать на том же компьютере, что и SQL Server, для открытия файлов, которые хранятся в FileTable. Но можно использовать эти приложения с удаленного компьютера для открытия файлов, хранящихся в FileTable, поскольку в этих обстоятельствах средство отображения на память не используется.
[В начало]
Связанные задачи
Включение необходимых компонентов для таблицы FileTable
Описывает способ включения компонентов, обязательных для создания и использования таблиц FileTable.Создание, изменение и удаление таблиц FileTables
Описывает способы создания новых таблиц FileTable и изменения или удаления существующих таблиц FileTable.выполнить загрузку файлов в таблицу FileTables
Описывает процедуру загрузки или переноса файлов в таблицы FileTable.Работа с каталогами и путями в таблицах FileTable
Описывает структуру каталогов, в которой файлы хранятся в таблицах FileTable.Доступ к таблицам FileTable с помощью Transact-SQL
Описывает, как команды DML языка обработки данных Transact-SQL работают с таблицами FileTable.Доступ к файлам с помощью API-интерфейсов файла ввода-вывода
Описание работы файловой системы ввода-вывода с таблицами FileTable.Управление таблицами FileTable
Описывает стандартные административные задачи по управлению таблицами FileTables.
[В начало]
См. также
Схема FileTable
Описывает стандартные и фиксированные схемы таблицы FileTable.Совместимость FileTable с другими компонентами SQL Server
Описывает работу таблиц FileTable совместно с другими компонентами SQL Server.Инструкции FileTable языка DDL, функции, хранимые процедуры и представления
Приведен список инструкций Transact-SQL и объектов базы данных SQL Server, добавленных или измененных для поддержки функциональности FileTable.
[В начало]