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 доступны для просмотра и редактирования внешними программами, например, программой просмотра изображений или текстовым редактором. Однако, имена файлов не имеют значимого названия, и невозможно, используя системные процедуры или представления базы данных, определить имя файла, соответствующего массиву данных.

Этот недостаток был устранён в 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.
Примечания
- ↑ Sebastian, Aelterman, 2012, p. 19.
- ↑ Sebastian, Aelterman, 2012, p. 62.
- ↑ Общие сведения о FILESTREAM. Дата обращения: 5 июня 2012. Архивировано 3 февраля 2013 года.
- ↑ Appending Data Using SQL 2008 Filestream — Microsoft SQLCAT ISV Program Management Team — Site Home — MSDN Blogs. Дата обращения: 6 июня 2012. Архивировано 28 апреля 2014 года.
- ↑ Using FILESTREAM to Store BLOBs in the NTFS File System in SQL Server 2008. Дата обращения: 6 июня 2012. Архивировано 20 июня 2012 года.
- ↑ http://msdn.microsoft.com/ru-ru/library/bb895334%28v=sql.105%29.aspx Архивная копия от 5 февраля 2013 на Wayback Machine 2
- ↑ How to Backup and Restore a SQL Server FILESTREAM Enabled Database. Дата обращения: 6 июня 2012. Архивировано 20 июня 2012 года.
- ↑ Sebastian, Aelterman, 2012, p. 387.
Ссылки
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.
- 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:
- 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.
- 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.
- 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.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.