- /
- /
Как уменьшить размер БД на MS SQL Server с помощью технологии FileStream
Если у вас используется Microsoft SQL Server, вы можете существенно сократить размер базы даных системы, используя технологию хранения данных FileStream. Суть данной технологии в том, что большие неструктурированные данные (типа текстовых файлов, изображений и т.п.) больше не сохраняются в БД, а переносятся на файловую систему. Данный способ хранения данных позволит вам, например, использовать бесплатную версию Microsoft SQL Server Express Edition для работы с системой документооборота FossDoc гораздо более длительное время до момента исчерпания лимита на размер БД - 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\FossDoc Application Server\Instances\{папка вашего экземпляра}\App.config"
Внутри файла найдите строку с параметром: "AllowSnapshotIsolation", и измените значение value="false", в итоге должно быть:
‹add key="Foss.FossDoc.ApplicationServer.DatabaseProvider.MSSQL.Transaction.AllowSnapshotIsolation" value="false" ⁄›"
Также в строке с параметром "FileStreamEnabled" установите значение value="true", в итоге должно быть:
‹add key="Foss.FossDoc.ApplicationServer.DatabaseProvider.MSSQL.FileStreamEnabled" value="true" ⁄›"
Сохраните изменения.
5. Перезапустите службу вашего сервера FossDoc
Что должно получиться в результате?
Для того чтобы убедиться в том, что режим FileStream был успешно запущен на вашем сервере, перейдите в папку MSSQL\DATA в каталоге, где у вас установлен SQL Server. Например, если у вас установлен SQL Server Express Edition, то по умолчанию путь для данной папки: C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA. По данному пути у вас должна появится папка вида "Имя сервера_bin", в которой сервер будет хранить все бинарные файлы.
Если режим FileStream так и не был запущен, узнать по какой причине это произошло можно с помощью log-файла сервера FossDoc - MYSQL.log. Обратитесь на форум техподдержки, приложите данный файл, и мы ответим, что необходимо предпринять, чтобы устранить данную проблему.