Статті > Як зменшити розмір БД на MS SQL Server за допомогою технології FileStream?
Як зменшити розмір БД на MS SQL Server за допомогою технології FileStream?
Якщо у вас використовується Microsoft SQL Server, ви можете суттєво скоротити розмір бази даних системи, використовуючи технологію зберігання даних FileStream. Суть даної технології в тому, що великі неструктуровані дані (типу текстових файлів, зображень і т.п.) більше не зберігаються в БД, а переносяться на файлову систему. Даний спосіб зберігання даних дозволить вам, наприклад, використовувати безкоштовну версію Microsoft SQL Server Express Edition для роботи з системою документообігу FossLook набагато більш тривалий час до моменту вичерпання ліміту на розмір БД - 10Гб (якщо ви його досягнете взагалі).
Як запустити режим FileStream на вашому сервері?
Важливо! FileStream працюватиме при виконанні таких умов:
- у вас встановлений Microsoft SQL Server версії 2008 і вище;
- на SQL Server використовується тільки Windows-авторизація для підключення до БД.
Додатково у вас повинен бути встановлений продукт Microsoft SQL Server Management Studio, який можна скачати з сайту розробника.
1. Запустіть додаток Microsoft SQL Server Configuration Manager, який входить до складу установки Microsoft SQL Server, підключіться до сервера і виберіть ваш екземпляр сервера. Виконайте з контекстного меню пункт "Властивості":
2. В діалозі властивостей відзначте всі три опції на закладці "FILESTREAM", як показано на малюнку.:
Натисніть Застосувати.
3. Запустіть Microsoft SQL Server Management Studio та підключіться до вашого сервера. Створіть наступний запит:
EXEC sp_configure filestream_access_level, 2
RECONFIGURE
Виконайте даний запит.
4. Відкрийте будь-яким редактором (наприклад "notepad") файл App.config вашого примірника сервера:
"C:\Program Files\FOSS\FossLook Application Server\Instances\{папка вашого примірника}\App.config"
Усередині файлу знайдіть рядок з параметром: "AllowSnapshotIsolation" і змініть значення value = "false", в результаті повинно бути:
‹add key="Foss.FossLook.ApplicationServer.DatabaseProvider.MSSQL.Transaction.AllowSnapshotIsolation" value="false" ⁄›"
Збережіть зміни.
5. Перезапустіть службу вашого сервера FossLook
Що повинно вийти в результаті?
Для того щоб переконатися в тому, що режим FileStream був успішно запущений на вашому сервері, перейдіть в папку MSSQL \ DATA в каталозі, де у вас встановлений SQL Server. Наприклад, якщо у вас встановлений SQL Server Express Edition, то за замовчуванням шлях для даної папки: C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA. За даним шляхом у вас повинна з'явиться папка виду "Ім'я сервера_bin", в якій сервер буде зберігати всі бінарні файли.
Якщо режим FileStream так і не був запущений, дізнатися з якої причини це сталося можна за допомогою log-файлу сервера FossLook - MYSQL.log. зверніться на форум техпідтримки, прикладіть даний файл, і ми відповімо, що необхідно вжити, щоб усунути дану проблему.