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


Службы Reporting Services с группами доступности AlwaysOn (SQL Server)

В этом разделе содержатся сведения о настройке компонента Reporting Services для работы с Группы доступности AlwaysOn (группами доступности) в SQL Server 2012. Существует три варианта использования служб Reporting Services и Группы доступности AlwaysOn: базы данных для источников данных отчетов, базы данных сервера отчетов и конструирование отчетов. Поддерживаемые функции и необходимая конфигурация для разных вариантов использования будут различными.

Основное преимущество применения Группы доступности AlwaysOn с источниками данных служб Reporting Services заключается в возможности использования доступных для чтения вторичных реплик в качестве источников данных для отчетов, при этом вторичные реплики продолжают обеспечивать отработку отказа для базы данных-источника.

Общие сведения о Группы доступности AlwaysOn см. в разделе Часто задаваемые вопросы по AlwaysOn для SQL Server 2012 (https://msdn.microsoft.com/en-us/sqlserver/gg508768).

В этом разделе:

  • Требования, которые необходимо выполнить для использования служб Reporting Services и групп доступности AlwaysOn

  • Источники данных отчетов и группы доступности

  • Конструирование отчетов и группы доступности

  • Базы данных сервера отчетов и группы доступности

    • Различия с собственным режимом SharePoint

    • Подготовка баз данных сервера отчетов для групп доступности

    • Действия по выполнению аварийного восстановления баз данных сервера отчетов

    • Работа сервера отчетов при выполнении отработки отказа

Требования, которые необходимо выполнить для использования служб Reporting Services и групп доступности AlwaysOn

Для использования Группы доступности AlwaysOn со службами SQL Server 2012 Reporting Services необходимо загрузить и установить исправление для .Net 3.5 с пакетом обновления 1 (SP1). Это исправление добавляет в клиент SQL Server поддержку компонентов групп доступности, а также поддержку свойств строки подключения ApplicationIntent и MultiSubnetFailover. Если не установить это исправление на все компьютеры, на которых размещен сервер отчетов, то пользователи, пытающиеся просмотреть отчеты, будут видеть сообщение об ошибке примерно следующего содержания, которое также будет записываться в журнал трассировки сервера отчетов.

Сообщение об ошибке: «Ключевое слово "applicationintent" не поддерживается»

Это сообщение выдается в том случае, когда в строке подключения служб Reporting Services указано одно из свойств Группы доступности AlwaysOn, которое сервер не распознает. Указанное сообщение об ошибке отображается при нажатии кнопки «Проверка подключения» в пользовательском интерфейсе служб Reporting Services, а также при просмотре отчета, если на сервере отчета включено отслеживание удаленных ошибок.

Дополнительные сведения о необходимом исправлении см. в разделе Исправление КБ 2654347A добавляет поддержку функций AlwaysOn из SQL Server 2012 в платформу .NET Framework 3.5 с пакетом обновления 1 (SP1).

Сведения о других требованиях Группы доступности AlwaysOn см. в разделе предварительными требованиями, и ограничениями и рекомендациями для групп доступности AlwaysOn (SQL Server).

  

ПримечаниеПримечание

Файлы конфигурации служб Reporting Services, например RSreportserver.config, не поддерживаются как часть функциональности Группы доступности AlwaysOn. Если изменения в файл конфигурации на одном из серверов отчетов вносятся вручную, то необходимо будет вручную обновить реплики.

Значок стрелки, используемый со ссылкой «В начало»В начало

Источники данных отчетов и группы доступности

Источники данных служб Reporting Services на основе Группы доступности AlwaysOn будут работать по-разному в зависимости от того, каким образом администратор настроил среду групп доступности.

Для использования Группы доступности AlwaysOn в источниках данных отчетов необходимо настроить строку соединения с источником данных отчета, где должно быть указано DNS-имя прослушивателя группы доступности. Поддерживаются следующие источники данных.

  • Источник данных ODBC, использующий SQL Native Client.

  • Клиент SQL Server, если на сервере отчетов применено исправление .Net.

Строка соединения также может содержать новые свойства соединения AlwaysOn, которые настраивают запросы отчетов на использование вторичной реплики для доступных только для чтения отчетов. Использование вторичной реплики для запросов отчетов позволяет снизить нагрузку на доступную для чтения и записи первичную реплику. На следующем рисунке приведен пример конфигурации группы доступности из трех реплик, где строки подключения источников данных служб Reporting Services имеют параметр ApplicationIntent=ReadOnly. В этом примере запросы отчетов отправляются вторичной, а не первичной реплике.

Источник данных служб SSRS групп доступности

 

Ниже приведен пример строки подключения, где [AvailabilityGroupListenerName] ― это DNS-имя прослушивателя, заданное при создании реплик.

Data Source=[AvailabilityGroupListenerName];Initial Catalog = AdventureWorks2008R2; ApplicationIntent=ReadOnly

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

Место изменения строки подключения будет зависеть от способа создания и публикации отчетов.

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

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

  • Конструирование отчета. При создании новых отчетов пользуйтесь Построитель отчетов SQL Server для SQL Server 2012 или SQL Server Data Tools (SSDT). Дополнительные сведения приведены в разделе «Конструирование отчетов» этой главы.

Дополнительные ресурсы

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

  • Число вторичных реплик. При добавлении в конфигурацию новых вторичных реплик задержка увеличивается.

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

  • Настройка режима доступности для каждой реплики. Режим доступности определяет, ожидает ли первичная реплика перед фиксацией транзакций для базы данных, чтобы вторичная реплика сохранила записи журнала транзакций на диск. Дополнительные сведения см. в подразделе «Режимы доступности» раздела Обзор групп доступности AlwaysOn (SQL Server).

При использовании доступной только для чтения вторичной реплики в качестве источника данных служб Reporting Services важно обеспечить соответствие задержки обновления данных потребностям пользователей отчетов.

Значок стрелки, используемый со ссылкой «В начало»В начало

Конструирование отчетов и группы доступности

При конструировании отчетов в Построитель отчетов SQL Server для SQL Server 2012 или проекта отчета в среде SQL Server Data Tools (SSDT) пользователь может настроить строку подключения к источнику данных отчета с помощью новых свойств соединения, предусмотренных в Группы доступности AlwaysOn. Поддержка новых свойств соединения зависит от того, где пользователь просматривает отчеты.

  • Локальный просмотр Построитель отчетов SQL Server для SQL Server 2012 и среда SQL Server Data Tools (SSDT) используют .Net Framework 4.0 и поддерживают свойства строки подключения Группы доступности AlwaysOn.

  • Удаленный или серверный режим просмотра Если после публикации отчета на сервере отчетов или использования просмотра в Построитель отчетов SQL Server для SQL Server 2012 на экране появляется сообщение об ошибке примерно следующего содержания, то это указывает на то, что просматривается отчет на сервере отчетов, где не установлено исправление .Net Framework 3.5 с пакетом обновления 1 (SP1) для Группы доступности AlwaysOn.

Сообщение об ошибке: «Ключевое слово "applicationintent" не поддерживается»

Значок стрелки, используемый со ссылкой «В начало»В начало

Базы данных сервера отчетов и группы доступности

Службы Reporting Services имеют ограниченную поддержку использования Группы доступности AlwaysOn с базами данных сервера отчетов. В группе доступности базы данных сервера отчетов можно настроить так, чтобы они были частью реплики. Однако при отработке отказа службы Reporting Services не будут автоматически использовать другую реплику баз данных сервера отчетов.

Чтобы выполнить отработку отказа или восстановление, необходимо произвести определенные действия вручную или воспользоваться пользовательскими скриптами автоматизации. ПЕРЕД выполнением этих действий некоторые функции сервера отчетов могут работать неправильно после отработки отказа Группы доступности AlwaysOn.

ПримечаниеПримечание

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

 

Значок стрелки, используемый со ссылкой «В начало»В начало

Различия с собственным режимом SharePoint

В этом разделе перечислены различия между способами взаимодействия сервера отчетов с Группы доступности AlwaysOn в режиме интеграции с SharePoint и в собственном режиме.

Сервер отчетов, работающий в режиме интеграции с SharePoint, создает 3 базы данных для каждого создаваемого вами приложения служб Reporting Services. Соединение с базой данных сервера отчетов, работающей в режиме интеграции с SharePoint, настраивается в центре администрирования SharePoint при создании нового приложения службы SharePoint. Имена баз данных по умолчанию включают идентификатор GUID, связанный с приложением службы. Ниже приведены примеры имен баз данных для сервера отчетов в режиме интеграции с SharePoint:

  • ReportingService_85c08ac3c8e64d3cb400ad06ed5da5d6

  • ReportingService_85c08ac3c8e64d3cb400ad06ed5da5d6TempDB

  • ReportingService_85c08ac3c8e64d3cb400ad06ed5da5d6_Alerting

Серверы отчетов, работающие в собственном режиме, используют 2 базы данных. Ниже приведены примеры имен баз данных для сервера отчетов в собственном режиме работы:

  • ReportServer

  • ReportServerTempDB

В этом режиме базы данных Alerting и связанные компоненты не поддерживаются и не используются. Серверы отчетов, работающие в собственном режиме, настраиваются в диспетчере конфигурации служб Reporting Services. В режиме интеграции с SharePoint задается имя базы данных приложения службы, в качестве которого используется имя точки доступа клиента, созданной в рамках конфигурации SharePoint. Дополнительные сведения о настройке SharePoint с Группы доступности AlwaysOn см. в разделе Настройка групп доступности SQL Server для SharePoint Server и управление ими (https://go.microsoft.com/fwlink/?LinkId=245165).

ПримечаниеПримечание

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

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

  • Процесс синхронизации служб Reporting Services обнаружит различия между списками элементов из базы данных содержимого и из баз данных сервера отчетов.

  • Процесс синхронизации удалит или обновит элементы в базе данных содержимого.

Значок стрелки, используемый со ссылкой «В начало»В начало

Подготовка баз данных сервера отчетов для групп доступности

Ниже приведены основные шаги по подготовке и добавлению баз данных сервера отчетов в Группы доступности AlwaysOn:

  • Создайте группу доступности и задайте DNS-имя прослушивателя.

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

  • Вторичные реплики. Создайте одну или несколько вторичных реплик. Стандартным вариантом копирования баз данных из первичной реплики во вторичные реплики является восстановление баз данных на вторичной реплике с помощью инструкции RESTORE WITH NORECOVERY. Дополнительные сведения о создании вторичных реплик и проверке работоспособности синхронизации данных см. в разделе Запуск перемещения данных для базы данных-получателя AlwaysOn (SQL Server).

  • Учетные данные сервера отчетов. Во вторичных репликах, созданных из первичной, необходимо создать соответствующие учетные данные сервера отчетов. Действия, которые для этого нужно предпринять, зависят от типа проверки подлинности, используемой в среде служб Reporting Services: учетная запись службы Window Reporting Services, учетная запись пользователя Windows или проверка подлинности SQL Server. Дополнительные сведения см. в разделе Настройка соединения с базой данных сервера отчетов (собственный режим).

  • Обновите подключение к базе данных, указав в нем DNS-имя прослушивателя. В отношении серверов отчетов, работающих в собственном режиме, измените параметр Имя базы данных сервера отчетов в диспетчере конфигурации служб Reporting Services. В режиме интеграции с SharePoint измените Имя сервера базы данных для приложений служб Reporting Services.

Значок стрелки, используемый со ссылкой «В начало»В начало

Действия по выполнению аварийного восстановления баз данных сервера отчетов

После отработки отказа на вторичную реплику, выполненной Группы доступности AlwaysOn, необходимо выполнить следующие действия.

  1. Остановите экземпляр службы агента SQL Server, который использовался СУБД базы данных-источника, где размещены базы данных служб Reporting Services.

  2. Запустите службу агента SQL Server на компьютере, который стал новой первичной репликой.

  3. Остановите службу сервера отчетов.

    Если сервер отчетов работает в собственном режиме, то остановите сервер Windows сервера отчетов с помощью диспетчера конфигурации служб Reporting Services.

    Если же сервер отчетов настроен в режиме интеграции с SharePoint, то остановите общую службу Reporting Services в центре администрирования SharePoint.

  4. Запустите службу сервера отчетов или службу Reporting Services SharePoint.

  5. Проверьте возможность выполнения отчетов в новой первичной реплике.

 

Значок стрелки, используемый со ссылкой «В начало»В начало

Работа сервера отчетов при выполнении отработки отказа

Когда выполняется отработка отказа для баз данных сервера отчетов и была обновлена среда сервера отчетов, в которой теперь будет новая первичная реплика, возникают некоторые проблемы, которые являются следствием отработки отказа или восстановления. Эти проблемы могут по-разному сказаться на работе службы Reporting Services в момент отработки отказа — это зависит от нагрузки и от времени, которое потребуется Группы доступности AlwaysOn для перехода на вторичную реплику, а администратору сервера отчетов — на обновление среды отчетов для работы с новой первичной репликой.

  • Фоновая обработка может выполняться несколько раз из-за логики повтора и неспособности сервера отчетов пометить запланированную работу как выполненную во время отработки отказа.

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

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

Значок стрелки, используемый со ссылкой «В начало»В начало

См. также

Основные понятия

Поддержка высокого уровня доступности и аварийного восстановления собственного клиента SQL Server

Группы доступности AlwaysOn (SQL Server)

Начало работы с группами доступности AlwaysOn (SQL Server)

Использование ключевых слов строки подключения с собственным клиентом SQL Server

Поддержка высокого уровня доступности и аварийного восстановления собственного клиента SQL Server

Сведения о доступе клиентского соединения с репликами доступности (SQL Server)