Нужно уметь хранить в БД достаточно большие файлы

Способы решения

Указатели на файлы в файловой системе

Плюсы:

  • Не тратимся на блокировки, блокировка на уровне ОС Минусы:
  • Нужна согласованность между ФС и метаданными в бд, возникают проблемы:
    • Можно менять файл через ФС, бд об этом не узнает
    • Следить за файлом админу (установка прав на уровне ос)
    • Как делать бекапы?

тип данных varbinary(max)

  • Решает проблемы с указателями (кроме блокировок, они появляются), но максимальный размер - 2 гб. Рекомендуется файлы до мб хранить в таком типе.

FILESTREAM

плюсы:

  • Простота бекапа
  • Размер файла ограничен размером тома, на котором фс задана
  • Файлы больше 2гб
  • Возможно хранить файлы на внешнем хранилище (не могли?, сокеты)
  • Гарантируется целостность этих файлов MS SQL Server минусы:
  • Том диска должен иметь фс NTFS

FILESTREAM стоит использовать уже когда размер файла больше 1мб