Одной из самых мощных функций служб Reporting Services является то, что все является выражением, включая SQL для вашего набора данных. Это означает, что вы можете создать свое выражение SQL с нуля.
У нас есть таблица баз данных, представляющая различные снимки наших данных с описанием и именем базы данных. Это используется в качестве запроса для заполнения параметра, из которого пользователь может выбрать, а затем имя базы данных вставляется в SQL, поэтому выражение вашего набора данных выглядит следующим образом:
="SELECT Field1, Field2, Field3 "
&"FROM " & Parameters!Database.Value & ".dbo.MyTable "
Затем, когда вам нужно добавить другую базу данных, из которой пользователь может выбирать, вы просто добавляете ее в таблицу имен баз данных, и все отчеты сразу же получают доступ к этим данным.
С серверами должно быть похоже, что-то вроде:
="SELECT Field1, Field2, Field3 "
&"FROM " & Parameters!Server.Value & "." & Parameters!Database.Value & ".dbo.MyTable "
Возможно, вам потребуется настроить сервер, на который вы нацелены, в качестве связанного сервера на сервере, на котором есть база данных, к которой первоначально был подключен набор данных.