FileStream

FileStream — хранилище данных, позволяющее связать MS SQL Server и файловую систему. Позволяет хранить данные на NTFS диске и управлять ими, используя движок базы данных. К данным предоставляется потоковый доступ. FileStream впервые появился в MS SQL 2008, доступен во всех изданиях, включая Express[1] .

Для работы с хранилищем FileStream необходимо включить его на уровне сервера, создать специальную файловую группу и включить в неё файл, указав вместо имени файла желаемый каталог.

После этого в указанном каталоге появится заголовочный файл, каталог для хранения журнала и каталоги для хранения данных. Последние будут иметь имена вида GUID[2].

FileStream и MSSQL Server

MS SQL Server обрабатывает данные хранилища как varbinary(max). Доступ к данным предоставляется в контексте транзакции, начиная с SQL Server 2008 и вне транзакции (начиная с SQL Server 2012). Данные кэшируются, не шифруются. На файловую группу, содержащую Filestream, накладываются определённые ограничения[3]. Данные могут быть вставлены[4], удалены или изменены с использованием стандартных T-SQL запросов или с помощью внешнего интерфейса API[5]. Файловая группа, содержащая Filestream, не поддерживает моментальные снимки. Поддерживается репликация и полнотекстовый поиск.[6]. Обеспечено резервное копирование данных, хранящихся в Filestream[7].

FileStream и файловая система

Данные, хранящиеся в FileStream доступны для просмотра и редактирования внешними программами, например, программой просмотра изображений или текстовым редактором. Однако, имена файлов не имеют значимого названия, и невозможно, используя системные процедуры или представления базы данных, определить имя файла, соответствующего массиву данных.

пример именования файлов, содержащих данные FileStream

Этот недостаток был устранён в SQL Server 2012 с введением особого типа таблиц FileTable. Начиная с SQL 2012, данные стали доступны вне контекста транзакции по виртуальному UNC-пути[8].

FileStream не попадает под ограничения на размер данных (2 ГБ) и на размер базы данных (4 ГБ), существующий в версии SQL Express.

Литература

  • Jacob Sebastian, Sven Aelterman. The Art of SQL Server FILESTREAM (англ.). — Redgate[англ.], 2012. — 487 p. — ISBN 978-1-906434-88-5.

Примечания

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.