Настройка потокового доступа к документам (FILESTREAM)
Для настройки потокового доступа СОД к документам (FILESTREAM) необходимо выполнить следующую последовательность действий, описанных в данном разделе:
1. Включить поддержку FILESTREAM в диспетчере конфигурации MS SQL Server.
2. Переключить имеющийся экземпляр СОД в режим работы с FILESTREAM, либо создать новый экземпляр с соответствующим флагом.
Включение FILESTREAM (БД расположена на одном сервере с экземпляром СОД)
FILESTREAM не включается автоматически при установке или обновлении SQL Server. FILESTREAM необходимо включить с помощью Диспетчера конфигурации SQL Server и среды SQL Server Management Studio.
В данном разделе приведена последовательность действий по включению FILESTREAM в соответствии с Инструкцией по включению FILESTREAM на официальном сайте Microsoft.
Действия в Диспетчере конфигурации SQL Server
В меню Пуск выберите пункт Все программы -> Microsoft SQL Server \<version> -> Средства настройки
и выберите пункт Диспетчер конфигурации SQL Server.
В списке служб щелкните правой кнопкой мыши "Службы SQL Server" и выберите "Открыть".
В открывшейся оснастке Диспетчера конфигурации SQL Server найдите экземпляр SQL Server, в котором нужно включить FILESTREAM.
Щелкните правой кнопкой мыши экземпляр и выберите пункт "Свойства".
В диалоговом окне "Свойства: SQL Server" перейдите на вкладку FILESTREAM
(1).
Установите флажок Enable FILESTREAM for Transact-SQL access
(Разрешить FILESTREAM при
доступе через Transact-SQL) (2).
Установите флажок Enable FILESTREAM for file I/O streaming access
(Разрешить FILESTREAM при
потоковом доступе ввода-вывода) Введите имя общего ресурса Windows в поле Windows share name
. (3).
Нажмите кнопку ОК (4) для сохранения настроек и окончания редактирования свойств FILESTREAM.
Примечание
Отмечать флажок "Allow remote clients to have streaming access to FILESTREAM data" (Разрешить удаленным клиентам потоковый доступ к данным FILESTREAM) необходимо только в том случае, если SQL Server развернут на отдельном сервере (см. Включение FILESTREAM при использовании БД на удаленном сервере).
Действия в SQL Server Management Studio
В среде SQL Server Management Studio нажмите кнопку Создать запрос, чтобы открыть редактор запросов. В редакторе запросов введите следующий код Transact-SQL:
EXEC sp_configure filestream_access_level, 2
RECONFIGURE
Нажмите кнопку Выполнить.
Перезапустите службу SQL Server
.
Включение FILESTREAM (БД расположена на удаленном сервере)
Выполните все действия, описанные в предыдущем пункте. Помимо этого, выполните следующее:
1. Установите флажок "Allow remote clients to have streaming access to FILESTREAM data (Разрешить удаленным клиентам потоковый доступ к данным FILESTREAM) в меню свойств SQL Server на вкладке FILESTREAM.
Примечание
При использовании FILESTREAM c удаленным SQL-сервером соединение должно устанавливаться только с применением Windows-аутентификации.
Настройка экземпляра СОД для работы с FILESTREAM
Примечание
Действия, описанные в данном разделе, должны выполняться ПОСЛЕ настройки FILESTREAM.
Настройка поддержки Сервисом Обработки Документов включенного ранее FILESTREAM состоит из следующих этапов:
1. Включение FILESTREAM на экземпляре СОД.
Даже если FILESTREAM уже настроен, необходимо настроить экземпляр СОД для работы с ним. Существует две ситуации:
- Создается новый экземпляр СОД.
В данном случае при создании экземпляра СОД в командлете New-DssDocumentStoreInstance
необходимо установить флаг -CreateFileStreamDb
в положение 1
. По умолчанию данный флаг не
будет взведен, и FILESTREAM не будет использоваться, даже если он был включен ранее.
- Экземпляр СОД уже создан (и используется).
В данном случае необходимо переключить экземпляр в режим работы с FILESTREAM при помощи командлета SwitchDssDocumentStoreInstance.
Пример:
Switch-DssDocumentStoreInstance -SQLServerName win-srv -ApplicationName DocumentStore -DisplayName DocumentStore -UseFileStream 1 -DBName DocumentStoreFs
Внимание!
Данное действие создает новый экземпляр БД СОД, предназначенный для работы с FILESTREAM. При этом:
- Старый экземпляр БД сохраняется вместе со всем содержимым.
- Все настройки старого экземпляра БД будут перенесены на новый.
- Файлы из БД старого экземпляра НЕ переносятся.
- С момента взведения флага СОД продолжает работу ТОЛЬКО с новым экземпляром БД.
2. Установка флага SmallFile
в поле AdditionalDocumentInfo
структуры PostDocumentInput
при
выполнении REST-запроса на загрузку документа в СОД.
Если выполнены все предыдущие пункты данного раздела, запись документов все еще производится
полностью в БД, т.к. флаг SmallFile
в поле AdditionalDocumentInfo
структуры PostDocumentInput
по умолчанию не установлен или установлен в значение true
, а значит все загружаемые в СОД
документы считаются "маленькими".
Для начала записи с использованием FILESTREAM установите для загружаемых в СОД документов,
считаемых "большими", флаг SmallFile
в значение false
.
Примечание
Критерии установки флага SmallFile
в значение true
или false
могут быть различными.
Рекомендуется считать "маленькими" (SmallFile
= true
) документы размером до 10 Мбайт.
Внимание!
Если FILESTREAM не настроен или настроен некорректно, флаг SmallFile
= false
будет
записан в состояние true
, а загружаемый документ будет записан в БД без использования
FILESTREAM.