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

 

**Применимо к:**SharePoint Foundation 2013, SharePoint Server 2013, SharePoint Server 2016

**Последнее изменение раздела:**2017-09-14

Сводка. Сведения о том, как с помощью поставщика FILESTREAM включить удаленное хранилище больших двоичных объектов (RBS) в ферме SharePoint Server 2016 и SharePoint 2013.

Служба SharePoint Server использует компонент RBS для хранения больших двоичных объектов (BLOB) за пределами базы данных контента. Дополнительные сведения об RBS см. в статье Обзор удаленного хранилища BLOB-объектов в SharePoint Server.

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

Совет

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

Содержание

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

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

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

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

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

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

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

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

Потребуется всего один раз установить и настроить в ферме удаленное хранилище больших двоичных объектов с использованием поставщика объектов FILESTREAM. Тем не менее, чтобы включить RBS для отдельных баз данных контента, используя другие поставщики, необходимо настроить RBS для использования этих поставщиков. Дополнительные сведения см. в статье Установка и настройка RBS с помощью стороннего поставщика (SharePoint Server).

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

  • Учетная запись, используемая для выполнения действий, описанных в разделе Подготовка хранилища BLOB-объектов для каждой базы данных контента, должна быть участником предопределенной роли базы данных db_owner на каждой базе данных, для которой вы настраиваете RBS.

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

  • У учетной записи, под которой активируется RBS в разделе Включение удаленного хранилища больших двоичных объектов (RBS) для каждой базы данных контента, должны быть достаточные разрешения для запуска Microsoft PowerShell.

Включение объекта 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 укажите том или каталог, в котором необходимо создать хранилище больших двоичных объектов. В ходе подготовки к работе в указанном расположении создается папка. Учтите, что инициализировать хранилище больших двоичных объектов можно только один раз. При попытке повторной инициализации того же хранилища больших двоичных объектов на экран выводится сообщение об ошибке.

    Совет

    В целях повышения производительности, упрощения диагностики и т. п. рекомендуется создавать хранилище больших двоичных объектов в томе, который не содержит операционной системы, файлов подкачки, данных базы данных, файлов журналов или файла 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 на всех серверах переднего плана или серверах приложений

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

Предупреждение

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

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

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

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

    Примечание

    SharePoint Server 2016 поддерживает поставщика FILESTREAM, который входит в состав SQL Server 2014, SQL Server 2014 SP1, SQL Server 2014 SP2, SQL Server 2016 и SQL Server 2016 SP1.
    SharePoint 2013 поддерживает поставщиков FILESTREAM, которые входят в состав всех версий SQL Server 2008 R2, SQL Server 2012 и SQL Server 2014.
    Из пакета дополнительных компонентов нужно скачать только файл RSB.msi, но он должен соответствовать типу процессора на вашем сервере (x86 или x64).

    Для 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 на всех дополнительных серверах переднего плана и серверах приложений

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

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

    Примечание

    SharePoint Server 2016 поддерживает поставщика FILESTREAM, который входит в состав SQL Server 2014, SQL Server 2014 SP1, SQL Server 2014 SP2, SQL Server 2016 и SQL Server 2016 SP1.
    SharePoint 2013 поддерживает поставщиков FILESTREAM, которые входят в состав всех версий SQL Server 2008 R2, SQL Server 2012 и SQL Server 2014.
    Из пакета дополнительных компонентов нужно скачать только файл RSB.msi, но он должен соответствовать типу процессора на вашем сервере (x86 или x64).

    Для 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.

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

    msiexec  /lvx* rbs_install_log.txt /i RBS.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content_RBS" DBINSTANCE="SQL2012SERVER" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider
    
  4. Повторите эту процедуру для всех серверов переднего плана и серверов приложений в ферме SharePoint.

    Примечание

    Если вы установите эти веб-службы Visio на серверы приложений SharePoint Server, на которых не установлен поставщик СДРес, то когда вы попытаетесь открыть схему Visio, возникнет ошибка Visio. Вам необходимо установить клиент СДРес на серверы SharePoint Server с Служба графики Visio, если вы хотите открывать схемы Visio на этих серверах.

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

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

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

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

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

Примечание

Для включения удаленного хранилища BLOB-объектов можно использовать только Microsoft PowerShell.

Включение удаленного хранилища больших двоичных объектов с помощью Windows 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. Перейдите к списку файлов и откройте файл, для которого указана самая поздняя дата изменения. Это должен быть отправленный вами файл.

See also

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

Установка для SharePoint 2013
Установка и настройка удаленного хранилища больших двоичных объектов (RBS) в SharePoint 2013 и SQL Server 2012
Удаленное хранилище больших двоичных объектов (RBS) для SQL Server
Включение и настройка FILESTREAM