Поделиться через


Установка и настройка RBS с помощью FILESTREAM в ферме SharePoint Server

ОБЛАСТЬ ПРИМЕНЕНИЯ:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint в Microsoft 365

SharePoint Server использует функцию RBS для хранения больших двоичных объектов (BLOB) за пределами базы данных контента. Дополнительные сведения об RBS см. в статье Overview of RBS in SharePoint Server.

Если не указано иное, информация в данной статье касается удаленного хранилища больших двоичных объектов, использующего поставщика FILESTREAM. Чтобы получить указания по использованию другого поставщика, обратитесь к разработчику поставщика.

Совет

В этом решении используется поставщик FILESTREAM RBS, включенный в SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2016 с пакетом обновления 1 (SP1), SQL Server 2014, с пакетом обновления 1 (SP1), с пакетом обновления 2 (SP2) и SQL Server 2008. Чтобы установить и настроить RBS с использованием другого поставщика, воспользуйтесь инструкциями в статье Установка и настройка RBS с помощью стороннего поставщика (SharePoint Server).

Перед началом работы

Потребуется всего один раз установить и настроить в ферме удаленное хранилище больших двоичных объектов с использованием поставщика объектов FILESTREAM. Тем не менее, чтобы включить RBS для отдельных баз данных контента, используя другие поставщики, необходимо настроить RBS для использования этих поставщиков. Дополнительные сведения см. в статье Install and configure RBS with a 3rd party provider for SharePoint Server.

Перед выполнением этой операции ознакомьтесь со следующими сведениями о необходимых компонентах:

Включение объекта FILESTREAM на сервере базы данных

По умолчанию компонент FILESTREAM устанавливается при установке SQL Server. Но он не включен. Необходимо включить и настроить FILESTREAM на компьютере под управлением SQL Server, на котором размещены базы данных SharePoint Server. Вам следует:

  1. Включить FILESTREAM для доступа к Transact-SQL.

  2. Настроить FILESTREAM для доступа к потоковому вводу-выводу файлов.

  3. Разрешить удаленным клиентам получать потоковый доступ к данным FILESTREAM, если требуется организовать доступ для удаленных клиентов.

Инструкции по включению FILESTREAM для ввода-вывода файлов представлены в статье Включение и настройка FILESTREAM. Эти параметры нужно настроить только один раз для каждого сервера базы данных, на котором предполагается использовать удаленное хранилище больших двоичных объектов.

Подготовка хранилища BLOB-объектов для каждой базы данных контента

После включения и настройки FILESTREAM подготовьте к работе хранилище больших двоичных объектов в файловой системе, как описано в следующей процедуре. Необходимо подготовить к работе хранилище больших двоичных объектов для каждой базы данных контента, с которой будет использоваться хранилище.

Подготовка к работе хранилища больших двоичных объектов

  1. Убедитесь, что пользовательская учетная запись, посредством которой выполняются эти действия, принадлежит к предопределенной роли базы данных db_owner в каждой базе данных, для которой настраивается удаленное хранилище больших двоичных объектов.

  2. Откройте SQL Server Management Studio.

  3. Подключитесь к экземпляру SQL Server, на котором размещена база данных контента.

  4. Разверните узел Базы данных.

  5. Щелкните базу данных контента, для которой необходимо создать хранилище больших двоичных объектов, и затем щелкните Создать запрос.

  6. Вставьте следующие SQL-запросы в панель Запрос и затем выполните их в указанном порядке. В каждом случае замените [WSS_Content] именем базы данных контента, а c:\BlobStore — томом\каталогом, в котором нужно создать хранилище BLOB-объектов. В ходе подготовки к работе в указанном расположении создается папка. Учтите, что инициализировать хранилище больших двоичных объектов можно только один раз. При попытке повторной инициализации того же хранилища больших двоичных объектов на экран выводится сообщение об ошибке.

    Совет

    В целях повышения производительности, упрощения диагностики и т. п. рекомендуется создавать хранилище больших двоичных объектов в томе, который не содержит операционной системы, файлов подкачки, данных базы данных, файлов журналов или файла tempdb.

    use [WSS_Content]
    if not exists 
    (select * from sys.symmetric_keys 
    where name = N'##MS_DatabaseMasterKey##')
    create master key encryption by password = N'Admin Key Password !2#4'
    
    use [WSS_Content]
    if not exists 
    (select groupname from sysfilegroups 
    where groupname=N'RBSFilestreamProvider')
    alter database [WSS_Content]
    add filegroup RBSFilestreamProvider contains filestream
    
    use [WSS_Content] 
    alter database [WSS_Content]
    add file (name = RBSFilestreamFile, filename = 'c:\Blobstore') to filegroup RBSFilestreamProvider
    

Установка клиентской библиотеки RBS в SQL Server и на всех серверах переднего плана или приложений

Клиентскую библиотеку RBS необходимо установить на узле SQL Server и на всех серверах переднего плана или приложений в ферме SharePoint. Такая библиотека устанавливается только один раз на каждом веб-сервере, но RBS настраивается отдельно для каждой связанной базы данных контента. Клиентская библиотека состоит из библиотеки DLL на стороне клиента, связанной с пользовательским приложением, и набора хранимых процедур, установленных на SQL Server.

Предостережение

Не устанавливайте клиентную библиотеку RBS, запустив файл RBS_amd64.msi (или RBS.msi) и запустив мастер установки удаленного хранилища BLOB-объектов SQL. Этот мастер задает некоторые значения по умолчанию, которые не рекомендуется использовать для SharePoint Server.

Установка клиентской библиотеки RBS в SQL Server.

  1. Убедитесь, что учетная запись пользователя, под которой выполняются эти действия, является участником группы "Администраторы" на компьютере, на котором устанавливается библиотека.

  2. На узле SQL Server скачайте правильный клиент RBS для версии SQL Server и используемого уровня SharePoint.

    SharePoint Server по подписке поддерживает поставщик FILESTREAM, включенный в SQL Server 2019 и более поздних версиях SQL Server.

    SharePoint Server 2019 поддерживает поставщик FILESTREAM, включенный в SQL Server 2016 и SQL Server 2017.

    SharePoint Server 2016 поддерживает поставщик FILESTREAM, включенный в SQL Server 2014 и SQL Server 2016.

    SharePoint 2013 поддерживает поставщики FILESTREAM, включенные во все версии SQL Server 2008 R2, SQL Server 2012 и SQL Server 2014.

    Из пакета дополнительных компонентов нужно скачать только файл RSB.msi, но он должен соответствовать типу процессора на вашем сервере (x86 или x64).

    Для SharePoint Server по подписке выберите правильную установку из следующего списка:

    Для SharePoint Server 2019 выберите правильную установку из следующего списка:

    Для SharePoint Server 2016 выберите правильный установочный пакет из следующего списка:

    Для SharePoint 2013 выберите правильный установочный пакет из следующего списка:

  3. Скопируйте и вставьте следующую команду в окно командной строки. Замените WSS_Content именем базы данных, а DBInstanceName — именем экземпляра SQL Server. Эту команду необходимо запустить только один раз, указав имя базы данных и имя экземпляра SQL Server. Выполнение этой операции займет примерно одну минуту.

    msiexec /qn /lvx* rbs_install_log.txt /i RBS_amd64.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1
    

Установка клиентской библиотеки RBS на всех серверах приложений и серверах переднего плана SharePoint

  1. Убедитесь, что учетная запись пользователя, под которой выполняются эти действия, является участником группы "Администраторы" на компьютере, на котором устанавливается библиотека.

  2. На любом веб-сервере скачайте правильный клиент RBS в зависимости от используемой версии SQL Server и уровня SharePoint. Выберите правильный установочный пакет из одного из следующих списков.

    SharePoint Server по подписке поддерживает поставщик FILESTREAM, включенный в SQL Server 2019 и более поздних версиях SQL Server.

    SharePoint Server 2019 поддерживает поставщик FILESTREAM, включенный в SQL Server 2016 и SQL Server 2017.

    SharePoint Server 2016 поддерживает поставщик FILESTREAM, включенный в SQL Server 2014 и SQL Server 2016.

    SharePoint 2013 поддерживает поставщики FILESTREAM, включенные во все версии SQL Server 2008 R2, SQL Server 2012 и SQL Server 2014.

    Вам нужно только скачать файл RSB.msi из пакета дополнительных компонентов, но убедитесь, что вы скачали версию x64.

    Для SharePoint Server по подписке выберите правильную установку из следующего списка:

    Для SharePoint Server 2019 выберите правильную установку из следующего списка:

    Для SharePoint Server 2016 выберите правильный установочный пакет из следующего списка:

    Для SharePoint 2013 выберите правильный установочный пакет из следующего списка:

  3. Скопируйте и вставьте следующую команду в окно командной строки. Замените WSS_Content именем базы данных, а DBInstanceName — именем экземпляра SQL Server. Выполнение этой операции займет примерно одну минуту.

    msiexec /qn /lvx* rbs_install_log.txt /i RBS_amd64.msi DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" ADDLOCAL=Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer
    

    Примечание.

    При попытке установить удаленное хранилище больших двоичных объектов SQL Server 2012 для дополнительной базы данных в том же экземпляре SQL Server возникнет ошибка. Дополнительные сведения см. в статье KB2767183.

    Для последующих баз данных контента, для которых нужно включить RBS, измените команду msiexec примерно так, как показано ниже.

    msiexec /qn /lvx* rbs_install_log_ContentDbName.txt /i RBS_amd64.msi REMOTEBLOBENABLE=1 FILESTREAMPROVIDERENABLE=1 DBNAME="WSS_Content_2" ADDLOCAL="EnableRBS,FilestreamRunScript" DBINSTANCE="DBInstanceName"
    
  4. Повторите эту процедуру для всех серверов переднего плана и серверов приложений в ферме SharePoint.

    Примечание.

    При установке веб-служб Visio на серверах приложений SharePoint Server, на которых не установлен поставщик RBS, при попытке открыть схему Visio с этого сервера возникает ошибка Visio. Чтобы открыть схемы Visio на этом сервере, необходимо установить клиент RBS на серверах SharePoint Server, на которые выполняется служба графики Visio.

Чтобы подтвердить установку клиентской библиотеки удаленного хранилища больших двоичных объектов

  1. Файл журнала rbs_install_log.txt создается в одном расположении с файлом RBS_amd64.msi. Откройте файл журнала rbs_install_log.txt с помощью текстового редактора и прокрутите файл до конца. В последних 20 строках файла должна содержаться запись: Product: SQL Remote Blob Storage - Installation completed successfully (Продукт: удаленное хранилище больших двоичных объектов SQL — установка успешно выполнена).

  2. На компьютере с пакетом обновления 1 (SP1) или SQL Server 2008 убедитесь, что таблицы RBS были созданы в базе данных контента. В базе данных контента должно быть несколько таблиц с именами, начинающимися на mssqlrbs.

Включение удаленного хранилища больших двоичных объектов (RBS) для каждой базы данных контента

Удаленное хранилище больших двоичных объектов необходимо включить на одном из веб-серверов в ферме SharePoint. Если удаленное хранилище больших двоичных объектов было установлено на сервере в ходе описанной выше процедуры, какой именно сервер будет выбран для этого, совершенно не важно. Эту процедуру необходимо выполнить один раз для каждой базы данных контента.

Примечание.

Включить RBS можно только с помощью Microsoft PowerShell.

Включение RBS с помощью Microsoft PowerShell

  1. Убедитесь, что вы являетесь участником следующих групп:

    • Предопределенная роль сервера securityadmin для экземпляра SQL Server.

    • Предопределенная роль базы данных db_owner во всех базах данных, которые должны обновляться.

    • Группа администраторов для сервера, на котором выполняются командлеты PowerShell.

  2. Запустите командную консоль SharePoint.

  3. В командной строке Microsoft PowerShell введите следующую команду.

    $cdb = Get-SPContentDatabase <ContentDatabaseName>
    $rbss = $cdb.RemoteBlobStorageSettings
    $rbss.Installed()
    $rbss.Enable()
    $rbss.SetActiveProviderName($rbss.GetProviderNames()[0])
    $rbss
    

    Где <ContentDatabaseName> — это имя базы данных контента.

Дополнительные сведения см. в статье Get-SPContentDatabase.

Назначение разрешений db_owner для веб-приложения

Важно!

Убедитесь, что веб-приложение, которое получает доступ к базе данных контента, поддерживающей удаленные хранилища больших двоичных объектов, является участником предопределенной роли базы данных db_owner для этой базы данных.

Проверка установки удаленного хранилища больших двоичных объектов

Чтобы убедиться, что система работает правильно, проверьте установку RBS на одном сервере переднего плана в ферме SharePoint.

Проверка удаленного хранилища больших двоичных объектов

  1. На компьютере, где размещается удаленное хранилище больших двоичных объектов, нажмите кнопку Пуск и выберите пункт Компьютер.

  2. Перейдите в каталог удаленного хранилища больших двоичных объектов.

  3. Убедитесь, что папка пуста.

  4. В ферме SharePoint отправьте файл размером не менее 100 КБ в библиотеку документов.

  5. На компьютере, где размещается удаленное хранилище больших двоичных объектов, нажмите кнопку Пуск и выберите пункт Компьютер.

  6. Перейдите в каталог удаленного хранилища больших двоичных объектов.

  7. Перейдите к списку файлов и откройте файл, для которого указана самая поздняя дата изменения. Это должен быть отправленный вами файл.

См. также

Обзор удаленного хранилища BLOB-объектов в SharePoint Server

Принятие решения об использовании удаленного хранилища BLOB-объектов в SharePoint Server

Установка и настройка RBS с использованием SharePoint 2013 и SQL Server 2012

Установка для SharePoint 2013

Удаленное хранилище больших двоичных объектов (RBS) (SQL Server)

Включение и настройка FILESTREAM