Как перенести отчёт MS SQL Server Reporting Services на другой сервер?

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

Подробно процедура скачивания отчёта и его добавления в проект редактора отчётов подробно описана в статье «Как получить, отредактировать и обновить отчёт MS SQL Server Reporting Services?»

После того, как Вы добавили отчёт к проекту в редакторе отчётов, откройте его:

Как посмотреть набор данных отчёта SSRS?Теперь можно видеть один или несколько наборов данных в левой части редактора. Щёлкните правой кнопкой мыши на названии набора данных и выберите «Свойства набора данных»:

Щёлкните правой кнопкой мыши на названии набора данных и выберите "Свойства набора данных"Иногда после этого программа выдаёт ошибку. Это происходит в том случае, если редактирование происходит на компьютере, не имеющем доступа к серверу, где был расположен оригинал отчёта, или, если источник данных отчёта ссылается на общий источник данных, отсутствующий в Вашем проекте. Ничего страшного. Важно лишь добиться появления окна «Свойства набора данных»:

Окно "Свойства набора данных"В данном конкретном случае используется запрос в виде текста. Чтобы увидеть его содержимое, нажмите на кнопку «fx» (см. картинку выше):

Содержимое запроса набора данных отчёта SSRSТо, что следует за командой «exec», является названием хранимой процедуры. На картинке я выделил её красной рамкой. Т.е. наша хранимая процедура, без которой отчёт не будет работать, называется «usr_RS_GL_Transactions». Если наборов данных несколько, нужно повторить подобную операцию для всех наборов данных.

Теперь, когда мы знаем название хранимой процедуры, остаётся пойти на SQL Server и получить её текст (если, конечно, эта хранимая процедура не зашифрована). Как это сделать?

Откроем SQL Server Management Studio, перейдём в базу данных iScala, далее Programmability -> Stored Procedures, найдём искомую хранимую процедуру:

Откроем SQL Server Management Studio, перейдём в базу данных iScala, далее Programmability -> Stored Procedures, найдём искомую хранимую процедуруЩёлкнем правой кнопкой мыши на названии хранимой процедуры и выберем «Script Stored Procedure as -> CREATE To -> New Query Editor Window»:

Щёлкнем правой кнопкой мыши на названии хранимой процедуры и выберем "Script Stored Procedure as -> CREATE To -> New Query Editor Window"В новом окне появится скрипт для создания хранимой процедуры на сервере, куда Вы собираетесь перенести отчёт:

Скрипт для создания хранимой процедурыСохраните его в виде файла .sql в кодировке UNICODE:

Сохранить скрипт как .sql файлПосле этого откройте этот файл на SQL сервере, куда нужно перенести отчёт, перейдите в базу данных Скалы и запустите. Хранимая процедура будет создана.
Теперь самое время опубликовать отчёт на сервере отчётов (куда Вы переносите отчёт). Как это сделать подробно написано на странице «Публикация отчёта на сервере»

Пожалуйста, обратите внимание на следующий момент: В отчёте могут быть скрытые параметры, которые пользователь не видит, но которые очень важны. Например, код компании. В одном месте это может быть один код компании, в другом — другой. Если Вы переносите отчёт на сервер с другой инсталляцией iScala, пользователи там могут работать в другой компании и поэтому нужно изменить код компании, иначе отчёт либо не будет работать, либо будет показывать информацию из неактуальной компании. Параметры можно изменить на закладке «Parameters»

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

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

 

Список опубликованных процедур: