Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Използване на SQL Server като хранилище за изображения

10 Gb не е много голямо количество данни, така че вероятно можете да използвате базата данни, за да я съхранявате и нямате големи проблеми, но разбира се, най-добре е по отношение на производителността да използвате файловата система, а по отношение на управлението на безопасността е по-добре да използвате DB (резервни копия и последователност).

За щастие, Sql Server 2008 ви позволява да вземете тортата си и да я изядете също с:

Атрибутът FILESTREAM

В SQL Server 2008 можете да приложите атрибута FILESTREAM към варбинарна колона и SQL Server след това съхранява данните за тази колона в локалната файлова система NTFS. Съхраняването на данните във файловата система носи две основни предимства:

  • Ефективността съответства на производителността на поточно предаване на файловата система.
  • Размерът на BLOB е ограничен само от размера на тома на файловата система.

Въпреки това, колоната може да се управлява точно както всяка друга BLOB колона в SQL Server, така че администраторите могат да използват възможностите за управление и сигурност на SQL Server, за да интегрират управлението на BLOB данни с останалите данни в релационната база данни - без да е необходимо да управляват данни за файловата система отделно.

Дефинирането на данните като колона FILESTREAM в SQL Server също така гарантира съгласуваност на ниво данни между релационните данни в базата данни и неструктурираните данни, които се съхраняват физически във файловата система. Колоната FILESTREAM се държи точно по същия начин като колона BLOB, което означава пълна интеграция на операции по поддръжка, като архивиране и възстановяване, пълна интеграция с модела за сигурност на SQL Server и пълна поддръжка на транзакции.

Разработчиците на приложения могат да работят с данни от FILESTREAM чрез един от двата модела на програмиране; те могат да използват Transact-SQL за достъп и манипулиране на данните точно като стандартни BLOB колони или могат да използват Win32 поточно API с Transact-SQL транзакционна семантика, за да осигурят последователност, което означава, че могат да използват стандартни Win32 извиквания за четене/запис към FILESTREAM BLOB, както биха, ако взаимодействат с файлове във файловата система.

В SQL Server 2008 колоните FILESTREAM могат да съхраняват данни само на локални дискови томове, а някои функции като прозрачно криптиране и параметри с стойност на таблицата не се поддържат за FILESTREAM колони. Освен това не можете да използвате таблици, които съдържат колони FILESTREAM в моментни снимки на база данни или сесии за огледално копиране на база данни, въпреки че се поддържа доставка на регистрационни файлове.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Адаптивният сървър не е наличен или не съществува грешка при свързване към SQL Server от PHP

  2. Как да използвате SQL Server HierarchyID чрез лесни примери

  3. Представяме ви нова функция - Отчет за растежа на облачната база данни на Spotlight

  4. Вземете последния вмъкнат идентификатор на ред (с SQL израз)

  5. Как да получа последно въведен идентификатор?