Синхронизация баз данных служб Analysis Services

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

SQL Server Analysis Services включает функцию синхронизации баз данных, которая делает две базы данных SQL Server Analysis Services эквивалентными путем копирования данных и метаданных базы данных на исходном сервере в базу данных на целевом сервере. Используйте функцию синхронизации баз данных для выполнения следующих задач:

  • Развертывание базы данных с промежуточного сервера на рабочий.

  • Обновление базы данных на рабочем сервере с учетом изменений, внесенных в данные и метаданные в базе данных на промежуточном сервере.

  • Создание скрипта XMLA, который может быть запущен в будущем в целях синхронизации баз данных.

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

Синхронизация баз данных инициируется на целевом сервере, при этом данные и метаданные забираются в копию базы данных на исходном сервере. Если база данных не существует, она будет создана. Синхронизация является односторонней, одноразовой операцией, которая завершается после копирования базы данных. Она не обеспечивает параллелизм баз данных в реальном времени.

Можно повторно синхронизировать базы данных, которые уже существуют на исходном и целевом серверах, чтобы перенести последние изменения с промежуточного сервера в рабочую базу данных. Будет выполнено сравнение файлов на двух серверах на предмет выявления изменений, и все выявленные отличия будут обновлены. Существующая база данных на целевом сервере остается доступной, в то время как синхронизация выполняется в фоновом режиме. Пока выполняется синхронизация, у пользователей сохраняется возможность запрашивать сведения у целевой базы данных. После завершения синхронизации SQL Server Analysis Services автоматически переключает пользователей на только что скопированные данные и метаданные и удаляет старые данные из целевой базы данных.

Для синхронизации баз данных запустите мастер синхронизации баз данных, чтобы немедленно синхронизировать базы данных, или создайте с его помощью скрипт синхронизации, который можно будет использовать позже. Любой из этих подходов можно использовать для повышения доступности и масштабируемости SQL Server Analysis Services баз данных и куба.

Примечание

Следующие технические документы, написанные для предыдущих версий служб Analysis Services, продолжают действовать в отношении масштабируемых многомерных решений, построенных с помощью SQL Server 2012. Дополнительные сведения см. в разделах Горизонтальное масштабирование запросов для служб Analysis Services и Горизонтальное масштабирование запросов для баз данных только для чтения в службах Analysis Services.

Предварительные требования

На сервере назначения (или целевом сервере), с которого инициируется синхронизация баз данных, необходимо быть членом роли администратора сервера служб Analysis Services. На исходном сервере учетная запись пользователя Windows должна иметь разрешения на полный доступ в базе данных-источнике. При синхронизации базы данных в интерактивном режиме помните, что синхронизация выполняется в контексте безопасности удостоверения пользователя Windows. Если у учетной записи нет доступа к отдельным объектам, эти объекты будут исключены из операции. Дополнительные сведения о ролях администратора сервера и разрешениях базы данных см. в разделах Предоставление прав администратора сервера экземпляру служб Analysis Services и Предоставление разрешений для базы данных (службы Analysis Services).

Чтобы разрешить удаленные соединения между двумя экземплярами по умолчанию, TCP-порт 2383 должен быть открыт на обоих серверах. Дополнительные сведения о создании исключения в брандмауэре Windows см. в разделе Configure the Windows Firewall to Allow Analysis Services Access.

Исходный и целевой серверы должны иметь одинаковую версию и пакет обновления. Так как метаданные модели также синхронизированы, для обеспечения совместимости номер сборки для обоих серверов должен быть одинаковым. Выпуск каждой установки должен поддерживать синхронизацию баз данных. В SQL Server 2017 г. синхронизация баз данных поддерживается в выпусках enterprise, developer и business intelligence. Дополнительные сведения о функциях в каждом выпуске см. в разделе Выпуски и поддерживаемые функции для SQL Server 2016.

Режим развертывания сервера должен быть одинаковым на обоих серверах. Если синхронизируемая база данных является многомерной, то и исходный и целевой серверы должны быть настроены для работы в многомерном режиме сервера. Дополнительные сведения о режимах развертывания см. в разделе Determine the Server Mode of an Analysis Services Instance.

Отключите отложенную обработку агрегатов, если она используется на исходном сервере. Агрегаты, обработка которых выполняют в фоновом режиме, могут влиять на процесс синхронизации баз данных. Дополнительные сведения об установке этого свойства сервера см. в разделе OLAP Properties.

Примечание

Размер базы данных следует учитывать при принятии решения относительно того, является ли синхронизация подходящим вариантом. Жестких требований нет, но если синхронизация выполняется слишком медленно, то следует синхронизировать несколько серверов параллельно, как описано в этом техническом документе: Analysis Services Synchronization Best Practices(Рекомендации по выполнению синхронизации в службах Analysis Services).

мастер синхронизации баз данных

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

Мастер синхронизации баз данных поможет выполнить следующие этапы.

  • Выберите исходный экземпляр и базу данных, из которых будет выполняться синхронизация.

  • Выберите места хранения для локальных секций в целевом экземпляре.

  • Выберите места хранения для удаленных секций в других целевых экземплярах.

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

  • Выберите, следует ли выполнить синхронизацию немедленно или сохранить в файл скрипта команду XML для аналитики Синхронизация , сформированную мастером синхронизации баз данных, для последующей синхронизации.

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

Запустите мастер.

  1. В SQL Server Management Studio подключитесь к экземпляру SQL Server Analysis Services, который будет запускать целевую базу данных. Например, если выполняется развертывание на рабочий сервер, то мастера нужно будет запустить на рабочем сервере.

  2. В обозревателе объектов щелкните правой кнопкой мыши папку Базы данных и выберите команду Синхронизировать.

  3. Укажите исходный сервер и базу данных-источник. На странице «Выбор базы данных для синхронизации» в полях Исходный сервер и База данных-источниквведите имя исходного сервера и базы данных-источника. Например, при выполнении развертывания из тестовой среды на рабочий сервер источником является база данных на промежуточном сервере.

    Целевой сервер отображает имя экземпляра SQL Server Analysis Services, с которым синхронизируются данные и метаданные из базы данных, выбранной в поле База данных-источник.

    Синхронизация будет выполняться для исходной и целевой баз данных с одинаковыми именами. Если на целевом сервере уже есть база данных с тем же именем, что и база данных-источник, целевая база данных будет обновлена с учетом метаданных и данных источника. Если база данных не существует, она будет создана на целевом сервере.

  4. При желании измените расположение локальной секции. На странице Расположение локальных секций укажите, где на целевом сервере будут храниться локальные секции.

    Примечание

    Эта страница появляется только в том случае, если в указанной базе данных имеется хотя бы одна локальная секция.

    Если набор секций установлен на диске C исходного сервера, то мастер позволит скопировать этот набор секций в другое место на целевом сервере. Если места хранения, используемые по умолчанию, остаются без изменений, то мастер развертывает секции группы мер каждого куба на исходном сервере в те же места хранения на целевом сервере. Аналогичным образом, если исходный сервер использует удаленные секции, те же удаленные секции будут использоваться и на целевом сервере.

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

    Исходная папка
    Отображает имя папки на экземпляре исходного SQL Server Analysis Services, который содержит локальную секцию. Если столбец содержит значение «По умолчанию», локальная секция размещается в месте по умолчанию для экземпляра источника.

    Целевая папка
    Отображает имя папки в целевом экземпляре SQL Server Analysis Services, в котором должна быть синхронизирована локальная секция. Если столбец содержит значение «По умолчанию», локальная секция размещается в месте по умолчанию для целевого экземпляра.

    Нажмите кнопку с многоточием (...) для отображения диалогового окна Выбор удаленной папки и укажите папку в целевом экземпляре, куда должны синхронизироваться локальные секции, хранимые в выбранном расположении.

    Примечание

    Этот столбец не может быть изменен для локальных секций, хранимых в месте по умолчанию для экземпляра источника.

    Размер
    Отображает оцениваемый размер локальной секции.

    Параметр Секции в выбранном расположении отображает сетку с описанием локальных секций, хранящихся в расположении на экземпляре исходного SQL Server Analysis Services, указанном в столбце Исходная папка выбранной строки в разделе Расположения.

    Cube
    Отображает имя куба, содержащего секцию.

    Группа мер
    Отображает имя группы мер в кубе, содержащем секцию.

    Имя секции
    Отображает имя секции.

    Размер (МБ)
    Отображает размер секции в мегабайтах (МБ).

  5. При необходимости измените расположение удаленных секций. Используйте страницу Указание расположений для удаленных секций, чтобы указать, следует ли синхронизировать удаленные секции, управляемые указанной базой данных на исходном сервере, и указать целевой SQL Server Analysis Services экземпляре и базе данных, в которой должны храниться выбранные удаленные секции.

    Примечание

    Эта страница отображается только в том случае, если по крайней мере одна удаленная секция управляется указанной базой данных в экземпляре исходного SQL Server Analysis Services.

    Параметр Расположение отображает сетку, содержащую сведения о расположениях, в которых хранятся удаленные секции в базе данных-источнике, включая сведения об источнике и получателе, а также размер хранилища, используемого каждым расположением, доступным в выбранной базе данных. Сетка содержит следующие столбцы:

    Синхронизация
    Выберите этот параметр, чтобы включить в список расположение, которое содержит удаленные секции в процессе синхронизации.

    Примечание

    Если этот параметр не выбран для расположения, удаленные секции, содержащиеся в этом расположении, не будут синхронизироваться.

    Исходный сервер
    Отображает имя экземпляра SQL Server Analysis Services, содержащего удаленные секции.

    Исходная папка
    Отображает имя папки в экземпляре SQL Server Analysis Services, который содержит удаленные секции. Если столбец содержит значение "По умолчанию", расположение по умолчанию для экземпляра, отображенное в пункте Исходный сервер , содержит удаленные секции.

    Целевой сервер
    Отображает имя экземпляра SQL Server Analysis Services, в котором должны быть синхронизированы удаленные секции, хранящиеся в расположении, указанном в разделе Исходный сервер и исходная папка.

    Нажмите кнопку с многоточием (...), чтобы отобразить диалоговое окно диспетчер подключений и указать экземпляр SQL Server Analysis Services, в котором должны быть синхронизированы удаленные секции, хранящиеся в выбранном расположении.

    Целевая папка
    Отображает имя папки в целевом экземпляре SQL Server Analysis Services, с которым должна быть синхронизирована удаленная секция. Если столбец содержит значение «По умолчанию», расположение по умолчанию для целевого экземпляра должно содержать удаленную секцию.

    Нажмите кнопку с многоточием (...), чтобы отобразить диалоговое окно Выбор удаленной папки и указать папку в целевом экземпляре, куда требуется синхронизировать удаленные секции, хранящиеся в выбранном расположении.

    Размер
    Отображает предполагаемый размер удаленных секций, хранящихся в расположении.

    В столбце Секции в выбранном расположении отображается сетка, описывающая удаленные секции, хранящиеся в расположении экземпляра исходного SQL Server Analysis Services, указанного в столбце Исходная папка выбранной строки в разделе Расположения. Сетка содержит следующие столбцы:

    Cube
    Отображает имя куба, содержащего секцию.

    Группа мер
    Отображает имя группы мер в кубе, содержащем секцию.

    Имя секции
    Отображает имя секции.

    Размер (МБ)
    Отображает размер секции в мегабайтах (МБ).

  6. Укажите, будут ли включены в синхронизацию данные о разрешениях пользователя и следует ли использовать сжатие. По умолчанию мастер сжимает все данные и метаданные перед тем, как копировать файлы на целевой сервер. Этот позволяет ускорить передачу файла. Файлы распаковываются после попадания на целевой сервер.

    Копировать все
    Установите этот флажок для включения при синхронизации определений безопасности и сведения о членстве.

    Пропуск членства
    Установите этот флажок для включения при синхронизации определений безопасности, но с исключением сведений о членстве.

    Пропустить все
    Выберите, чтобы пропустить определение безопасности и сведения о членстве, которые имеются в настоящее время в базе данных-источнике. Если целевая база данных создается во время синхронизации, то определения безопасности и сведения о членстве скопированы не будут. Если целевая база данных уже существует и в ней есть роли и членство, эти сведения о безопасности будут сохранены.

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

  8. Для выполнения синхронизации нажмите кнопку Готово . После проверки параметров на странице Завершение работы мастера нажмите кнопку Готово еще раз.

Next Steps

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

См. также:

Элемент Synchronize (XML для аналитики)
Развертывание решений модели с помощью XMLA
Развертывание решений модели с использованием мастера развертывания