SSRS 2008 R2 Подписки не отправляются - PullRequest
2 голосов
/ 21 декабря 2010

Все -

Я недавно обновил нашу производственную среду с Sql Server Reporting Services 2005 до 2008 R2.Наряду с обновлением я настроил SSRS с Аутентификацией на основе форм и успешно настроил все части служб Reporting Services, за исключением одной вещи, подписки не работают.

Важные вещи, которые следует иметь в виду:

  1. Я вытащил базы данных сервера отчетов из старой среды и восстановил ключ, так что я знаю, что информацию можно прочитать.
  2. Письма будут отправляться, если подписка настроена на отправку только ссылки на отчет.(Таким образом, это заставляет меня поверить, что конфигурация SMTP правильная).
  3. Все отчеты работают при обращении из приложения, привязанного к службам Reporting Services.
  4. Мы уже пытались обновить учетную запись автоматического выполнения, но ничего не изменилось.
  5. Я проверил, что служба браузера SQL работает, и у брандмауэра есть исключения для браузера SQL и для порта 1434.

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

Ошибка, которая генерируется в журнале ошибок:

ОШИБКА: Ошибка отправки электронной почты,Microsoft.ReportingServices.Diagnostics.Utilities.RSException: произошла ошибка при вызове расширения авторизации.---> Microsoft.ReportingServices.Diagnostics.Utilities.AuthorizationExtensionException: произошла ошибка при вызове расширения авторизации.---> System.Web.HttpException: невозможно подключиться к базе данных SQL Server.---> System.Data.SqlClient.SqlException: произошла ошибка, связанная с сетью или экземпляром, при установлении соединения с SQL Server.Сервер не найден или не был доступен.Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений.(поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка при поиске сервера / указан экземпляр)

1 Ответ

0 голосов
/ 13 января 2011

Ладно, я много играю, я смог придумать обходной путь.Конечно, это не общее решение, но оно решает нашу проблему.

После копания в специальной DLL-библиотеке безопасности я заметил, что в методе CheckAccess () для операций отчета в классе Authorization было сгенерировано исключение.,Я решил подключить его к «True», чтобы обойти его и посмотреть, куда он меня приведет.Успех!Конечно, существуют некоторые угрозы безопасности, связанные с этим исправлением, но наша текущая среда скрывает сервер отчетов за нашим брандмауэром, и каждый вошедший в систему сотрудник имеет право просматривать отчеты.

Здесь есть несколько методов CheckAccess ()чтобы ограничить доступ к определенным аспектам служб Reporting Services, и мне нужно было только открыть операции с отчетами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...