2013-09-10 5 views
5

Я ищу использование таблиц с файлами вместо простого хранения файла в виде двоичных данных в базе данных или хранения столбца в базе данных, содержащего URL-адрес общего ресурса файла. В наших приложениях используется Entity Framework, так что это одна небольшая ошибка, которую я вижу, но та, с которой можно легко справиться. Другим является то, что из того, что я могу сказать, файлы должны храниться на том же сервере, что и база данных в пути к папке, таком как «Имя_каталога \ имя_экземпляра \ FileShare» (можно ли это настроить так, чтобы папка могла существовать на другом сервере?).Недостатки FileTable сервера Sql

Есть ли дополнительные недостатки в использовании FileTables?

ответ

2

Что касается недостатков табличного файла, помимо небольшой настройки, необходимой для их запуска, единственное, что я могу придумать, это то, что если ваши BLOB-файлы имеют размер менее 1 МБ, в документации предполагается, что их хранение в базе данных, чем на файловой системе, обеспечит лучшую производительность.

Что касается размещения файловой группы filestream в сетевом ресурсе, это не сработает. Одним из распространенных заблуждений с filestream/filetable является то, что созданный файловый архив является обычным файлом windows, как и любой другой. Это не так, файлы хранятся в специальном месте в файловой системе, называемой контейнером данных NTFS, после чего они передаются во внешний мир через потоковые API NTFS в виде файлов. Файлы должны быть локальными для компьютера, потому что эти API NTFS не работают над UNC.

Единственный способ, которым вы действительно можете заставить его работать на другой машине, - это использовать диск iSCSI, чтобы API-интерфейсы NTFS все еще работали, но файлы физически находятся на другом компьютере.

Смежные вопросы