Олицетворение SSRS для источника данных

Я работаю над развертыванием решения для отчетности с использованием SSRS и PerformancePoint. У меня есть 4 базы данных, из которых я извлекаю. 3 У меня есть полный контроль над другими. У меня есть только дополнительная учетная запись домена, которая имеет доступ к SQL с разрешениями только на чтение, это единственный вариант из-за соглашения о безопасности для этой базы данных.

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

Идеи?


person JD Roberson    schedule 22.02.2013    source источник
comment
Возможно, вам поможет статья Эрланда Соммарского о разрешениях. . . sommarskog.se/grantperm.html.   -  person Gordon Linoff    schedule 22.02.2013
comment
SSRS требует только разрешения на чтение для источников данных, поэтому это не проблема. Если вы посмотрите на источник данных на своем веб-сайте менеджера отчетов, какие варианты у вас там есть? Использует ли он учетную запись sql или проверку подлинности Windows? Работает ли он в вашей среде разработки, а не на сервере?   -  person Davos    schedule 25.02.2013
comment
Это проверка подлинности Windows. Я не могу понять, как передать учетные данные Windows на сервер SQL из отчета. Он всегда хочет запускаться от имени пользователя, просматривающего отчет.   -  person JD Roberson    schedule 25.02.2013


Ответы (1)


Насколько я понимаю, вы не объединяете данные с 4 разных серверов в качестве источника данных в этом отчете, верно?

Затем в ReportManager перейдите к свойствам отчета, т. Е. Щелкните свой отчет правой кнопкой мыши, а затем щелкните левой кнопкой мыши «Управление» в раскрывающемся меню. Затем выберите вкладку Data Source - там будет следующая опция:

A custom data source

Data source type: Microsoft SQL Server  
Connection string: Data Source=YOUR.SERVER.IP.ADDRESS;Initial Catalog=YOUR_DATABASE_NAME        

Then choose: Connect using: Credentials stored securely in the report server

You can enter your domain username and password there: e.g. 
User name: SOMEDOMAIN\MyUser.Name
Password: MyPa$$wo%d

Then checkmark: Use as Windows credentials when connecting to the data source
You may need to checkmark this one too: Impersonate the authenticated user after a connection has been made to the data source

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

Вы также можете сделать это для общего источника данных.

В противном случае, если вы пытаетесь объединить данные со своих 3 серверов и 1 дополнительного, где у вас есть доступ только для чтения, я бы порекомендовал:

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

  2. создать хранимые процедуры, которые будут предоставлять наборы данных для вашего отчета, собирая данные с других 3 серверов по мере необходимости - таким образом вам понадобится только 1 источник данных на сервере отчетов

Отвечает ли это на ваш вопрос?

person Paul Shiryaev    schedule 25.02.2013
comment
Хорошо, у меня есть один центральный сервер для создания отчетов, который я использую для объединения других 3. Я попробовал ваше решение и получил еще одну ошибку о том, что эта версия не поддерживает службы отчетов. Я исследую это сейчас. Я хотел бы знать, как связать этот 4-й сервер, используя эти учетные данные Windows. Это было то, что я хотел попробовать раньше, но отказался после того, как не смог найти решения. - person JD Roberson; 25.02.2013
comment
После исправления некоторых других проблем это было решением. Спасибо! - person JD Roberson; 25.02.2013