Обновление отчетов (службы SSRS)

Область применения: SQL Server 2016 (13.x) Сервер отчетов Power BI

RDL-файлы определения отчетов автоматически обновляются следующими способами.

  • При открытии отчета с разбивкой на страницы в конструкторе отчетов среды в SQL Server Data Tools (SSDT) определение отчета обновляется до поддерживаемой схемы RDL. При указании SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) или сервера отчетов SQL Server 2014 (12.x) в свойствах проекта определение отчета сохраняется в схеме, совместимой с целевым сервером.

  • При обновлении установки служб Reporting Services до установки служб Sql Server 2016 (13.x) Reporting Services или более поздней версии (SSRS), существующие отчеты и моментальные снимки, опубликованные на сервере отчетов, компилируются и автоматически обновляются до новой схемы при первом их обработке. Если отчет автоматически обновить не удается, он обрабатывается в режиме обратной совместимости. Определение отчета остается в исходной схеме.

После локального обновления отчета или обновления на сервере отчетов могут появиться дополнительные ошибки, предупреждения и сообщения. Это результат изменений внутренней объектной модели отчетов и компонентов обработчиков, которые приводят к появлению сообщений при обнаружении проблем в отчете. Дополнительные сведения см. в статье Reporting Services Backward Compatibility.

Дополнительные сведения о новых функциях sql Server 2016 (13.x) Reporting Services или более поздней версии (SSRS) см. в статье "Новые возможности sql Server Reporting Services (SSRS)".

Версии отчетов, которые могут быть обновлены

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

  • SQL Server 2008 (10.0.x)

  • SQL Server 2008 R2 (10.50.x)

  • SQL Server 2012 (11.x)

  • SQL Server 2014 (12.x)

Файлы определения отчетов (RDL) и конструктор отчетов

Файл определения отчета содержит ссылку на пространство имен языка определения отчетов, которое указывает версию схемы определения отчета, используемую для проверки RDL-файла.

Когда вы открываете файл .rdl в конструкторе отчетов в SQL Server Data Tools (SSDT) и отчет был создан для предыдущего пространства имен, конструктор отчетов автоматически создаст файл резервной копии и обновит отчет до текущего пространства имен. Это единственный способ обновления файла определения отчетов.

Устанавливаемые свойства развертывания могут влиять на то, в какой схеме сохраняется файл определения отчета. Дополнительные сведения см. в статье Развертывание и поддержка версий в SQL Server Data Tools (SSRS).

Можно передать RDL-файл, созданный в более ранней версии служб Reporting Services, в новую версию, где он будет автоматически обновлен при первом использовании. На сервере отчетов файлы определения отчетов хранятся в собственном формате. Отчет обновляется автоматически при первом просмотре, однако сохраненный файл определения отчетов остается без изменений.

Сведения о том, как определить текущую схему языка определения отчетов для отчетов, сервера отчетов или конструктора отчетов, см. в статье Определение версии схемы определения отчета (SSRS).

Опубликованные отчеты и моментальные снимки отчетов

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

Режим обратной совместимости

Отчет, который успешно обновлен, обрабатывается обработчиком отчетов SQL Server 2016 (13.x) Reporting Services или более поздней версии (SSRS). Отчет, который не может быть обновлен, обрабатывается SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) или SQL Server 2014 (12.x) Reporting Services в режиме обратной совместимости. Нельзя обработать отчет обоими обработчиками. При первом использовании отчет будет либо успешно обновлен, либо помечен для обработки в режиме обратной совместимости.

Только обработчик отчетов SQL Server 2016 (13.x) Reporting Services или более поздней версии (SSRS) поддерживает новые функции. Если обновить отчет не удается, отчет, готовый для просмотра, можно просмотреть, однако новые функции будут недоступны. Чтобы использовать эти новые функции, необходимо успешно обновить отчет.

Обновление отчета с вложенными отчетами

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

  • Главный отчет и все вложенные отчеты успешно обновляются. Они обрабатываются обработчиком отчетов SQL Server 2016 (13.x) Reporting Services или более поздней версии (SSRS).

  • Главный отчет и все вложенные отчеты обновить не удается. Они обрабатываются обработчиком отчетов SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) или SQL Server 2014 (12.x).

  • Возможно обновление главного отчета, однако один или несколько вложенных отчетов обновить не удается. Основной отчет обрабатывается обработчиком отчетов SQL Server 2016 (13.x) Reporting Services или более поздней версии (SSRS), но отрисованный отчет показывает сообщение "Ошибка: вложенный отчет не удалось обработать" в расположении, где не удалось обновить вложенный отчет.

  • Главный отчет обновить нельзя, однако можно обновить один или несколько вложенных отчетов. Основной отчет обрабатывается обработчиком отчетов SQL Server 2016 (13.x) Reporting Services или более поздней версии (SSRS), но отрисованный отчет показывает сообщение "Ошибка: вложенный отчет не удалось обработать" в расположении, где появится вложенный отчет.

Если отображается сообщение «Ошибка: не удалось обработать вложенный отчет», необходимо изменить определение главного отчета или вложенного отчета таким образом, чтобы отчеты могла обработать одна версия обработчика отчетов.

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

Обновление пользовательских элементов отчета в отчете

SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) или SQL Server 2014 (12.x) Reporting Services могут содержать пользовательские элементы отчетов (CRIs), предоставляемые сторонними поставщиками программного обеспечения и установленными системным администратором на компьютере разработки отчетов и сервере отчетов. Обновлять отчеты с пользовательскими элементами отчета можно следующим образом.

  • Сервер отчетов SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) или сервер отчетов служб SQL Server 2014 (12.x) Reporting Services обновляется до сервера отчетов SQL Server 2016 (13.x) Reporting Services или более поздней версии (SSRS). Отчеты, опубликованные на сервере отчетов, автоматически обновляются при первом использовании.

  • Sql Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) или отчет служб REPORTING Services SQL Server 2014 (12.x) отправляется в сервер отчетов SQL Server 2016 (13.x) Reporting Services или более поздней версии (SSRS). Отчет автоматически обновляется при первом использовании.

  • Отчет SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) или отчет служб REPORTING Services SQL Server 2014 (12.x) открыт в конструктор отчетов в SQL Server Data Tools (SSDT). Создается резервная копия отчета. Возможен один из двух вариантов.

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

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

    Дополнительные сведения см. в подразделе Открытие отчета в конструкторе отчетов далее в этом разделе.

Дополнительные сведения об определении текущего пространства имен языка определения отчетов для сервера отчетов, SQL Server Data Tools или отчета см. в статье Определение версии схемы определения отчета (SSRS).

Обновление отчетов на сервере отчетов

Первый раз SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) или SQL Server 2014 (1 2.x) Отчет служб Reporting Services выполняется на сервере отчетов, который был обновлен до сервера отчетов SQL Server 2016 (13.x) Reporting Services или более поздней версии (SSRS), отчет автоматически обновляется до текущего пространства имен определения отчета, поддерживаемого сервером отчетов. До обновления отчет мог существовать на сервере отчетов. или отчет может быть отправлен через веб-портал или опубликован на сервер отчетов из конструктор отчетов в SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) или SQL Server 2014 (12.x) SQL Server Data Tools.

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

Тип пользовательского элемента отчета Действие сервера отчетов по обновлению
Сторонние пользовательские элементы отчета Обновление не выполняется.

Обрабатывается обработчиком отчетов SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) или SQL Server 2014 (12.x).

Открытие отчета с пользовательскими элементами отчета в конструкторе отчетов

При открытии SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) или SQL Server 2014 (12.x) reporting Services с помощью ЦР в конструктор отчетов в SQL Server Data Tools (SSDT), отчет будет обновлен до новой схемы определения отчета. В зависимости от того, какие пользовательские элементы отчета содержит отчет, выполняется одно из следующих действий.

  • Обнаружены сторонние пользовательские элементы отчета. Если версия пользовательского элемента отчета, установленного на компьютере разработчика отчетов, несовместима с новой RDL-схемой, то в области конструктора отображается текстовое поле с красной буковой «X». Чтобы установить новые версии пользовательских элементов отчета сторонних поставщиков, совместимых с новой RDL-схемой, необходимо обратиться к системному администратору.

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

Диалоговое окно "Преобразование пользовательского элемента отчета"

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

Примечание.

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

Некоторые пользовательские элементы в отчете могут быть преобразованы в элементы отчета в новом формате определения отчета. Используйте следующий список, чтобы решить, следует ли преобразовать пользовательские элементы в этом отчете.

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

  • Нет Выберите Нет , если не нужно преобразовать пользовательские элементы в отчете. Эти пользовательские элементы отчета в их текущей версии невозможно отобразить с помощью обработчика отчета. Если системный администратор планирует установить новую версию пользовательского элемента отчета от стороннего поставщика программного обеспечения, которая совместима с новым форматом определения отчета, то следует выбрать Нет. До тех пор, пока не появятся новые версии, пользовательские элементы отчета отображаются в отчете как пустые текстовые поля с красным символом «X».

В обоих случаях отчет обновляется до нового формата определения отчета, и резервная копия исходного отчета сохраняется как <Имя отчета>- Backup.rdl. При сохранении отчета в средстве создания отчетов выполняется сохранение обновленного отчета в новом формате определения отчета. Если отчет публикуется, то отчет сначала сохраняется в компьютере пользователя, а затем публикуется на сервере отчетов. Обновленная версия отчета публикуется на сервере отчетов.

Если отчет не сохраняется, то исходный отчет остается неизмененным. Но вы не можете изменить этот отчет в версии SQL Server 2016 SQL Server Data Tools или в среде разработки отчетов, использующей более новый формат определения отчета. Вы можете продолжить запуск исходной версии отчета, отправив его на сервер отчетов SQL Server 2016 (13.x) Reporting Services или более поздней версии (SSRS) с помощью веб-портала. Дополнительные сведения см. в разделе Веб-портал.

Для отчетов, которые передаются вместо публикации на сервере отчетов, обработчик отчета отчета определяет, можно ли обновить отчет при первом использовании. Отчеты, которые не могут быть обновлены, обрабатываются в режиме обратной совместимости и продолжают отображаться, как и в более ранней версии служб Reporting Services.

Следующие шаги

Обновление и перенос служб Reporting Services
Критические изменения SQL Server Reporting Services в SQL Server 2016
Изменения в работе служб SQL Server Reporting Services в SQL Server 2016
Неподдерживаемые возможности в SQL Server Reporting Services в SQL Server 2016
Пользовательские элементы отчета
Обновление базы данных сервера отчетов

Есть еще вопросы? Посетите форум служб Reporting Services.