В SharePoint есть возможность хранить большие документы или файлы не непосредственно в базе данных, а на отдельном диске, который используется в качестве Remote Blob Storage (RBS). Подробное описание технологии есть в документации. Но очень часто многие забывают важный момент – настройка обслуживания RBS в SharePoint через регламентное задание. Именно об этом будет краткий очерк в данной публикации.
В примере ниже используется одна база данных контента.
Настройка обслуживания RBS в SharePoint приведена в соответствующем разделе документации. Именно это руководство я всегда использую в качестве основы, но решил сделать его краткую выжимку в своем блоге.
По сути вы выполняете настройку задания в Планировщике (Task Scheduler) на сервере баз данных SharePoint. Я не буду в деталях рассказывать про настройку задания в Планировщике, но остановлюсь на самых важных моментах
Для того, чтобы выполнить настройку обслуживания RBS в SharePoint необходимо выполнить следующие действия:
1. Подключиться на сервер баз данных, который используется RBS для SharePoint.
2. Запустить Планировщик заданий (Task Scheduler) и создать новое задание.
3. На вкладках “Общие” и “Триггеры” вы конфигурируете название для задания и параметры его запуска по расписанию.
4. А вот теперь важный момент. На вкладке действия необходимо указать путь до утилиты по сборке мусора и обслуживанию RBS.
В поле “Программа или сценарий” укажите расположение утилиты Microsoft.Data.SqlRemoteBlobs.Maintainer.exe. При стандартном выборе ути установки компонентов RBS для SQL 2019 путь следующий:
"C:\Program Files\Microsoft SQL Remote Blob Storage 15.0\Maintainer\Microsoft.Data.SqlRemoteBlobs.Maintainer.exe"
В качестве аргументов необходимо указать параметры подключения в базе данных контента, которая использует RBS:
-ConnectionStringName RBSMaintainerConnection -Operation GarbageCollection -GarbageCollectionPhases rdo -ConsistencyCheckMode r -TimeLimit 600
5. Сохраните внесенные изменения.
Я обычно предварительно выполняю проверку запуска обслуживания в командной строке. И только после этого конфигурирую задание Планировщика. Проверку через командную строку можно выполнить, например, вот так:
"C:\Program Files\Microsoft SQL Remote Blob Storage 15.0\Maintainer\Microsoft.Data.SqlRemoteBlobs.Maintainer.exe" -ConnectionStringName RBSMaintainerConnection -Operation GarbageCollection -GarbageCollectionPhases rdo -ConsistencyCheckMode r -TimeLimit 600
В случае успешного подключения к базе данных контента, использующей RBS утилита запустит процесс сборки мусора.