Назад | Перейти на главную страницу

Почему диспетчер отчетов сервера отчетов Microsoft SQL Server Reporting Services 2005 сообщает мне «Ошибка входа для пользователя» (ошибка rsRPC) после обновления Windows до SP2?

Я обновил существующий экземпляр служб отчетов SQL Server 2005 до SP2 через Центр обновления Windows. Теперь, когда я нажимаю на диспетчер отчетов, я получаю сообщение «Ошибка входа для пользователя« Сервер отчетов (песочница) ». (rsRPCError) ».

«Сервер отчетов (песочница)» - это имя входа SQL Server, которое мой сервер отчетов использует для подключения к своей служебной базе данных (которая также называется «Сервер отчетов (песочница)»). Службы Reporting Services могли успешно подключаться раньше. Пароль этой учетной записи не изменился; Я могу успешно подключиться с его именем и паролем, например, sqlcmd.

Когда я запускаю диспетчер конфигурации служб Reporting Services и проверяю страницу подключения к базе данных (в настройке базы данных), все выглядит нормально. Сообщенная версия базы данных - C.0.8.40. Я пробовал возиться с учетными данными, чтобы побудить их как-то «перезагрузиться». Кажется, это не помогает, но инструмент постоянно предлагает мне обновить базу данных. (Я продолжаю говорить, чтобы продолжалось.)

Что дает? Нужно ли мне полностью стереть и переустановить этот Сервер отчетов (или хотя бы его базу данных)? Думаю, это не было бы такой уж ужасной вещью - в любом случае, в настоящее время он сломан, и, естественно, все определения в наших отчетах организованы и имеют исходный код для упрощения восстановления / повторного развертывания. Тем не менее, я боюсь снова возиться со всем этим.

В конечном итоге это оказалось несоответствием версии базы данных, а вовсе не проблемой аутентификации / авторизации, как указывает сообщение «Неудачный вход».

Я обнаружил, что в средстве обновления версии базы данных есть ошибка: он генерирует сценарии, которые неправильно цитируют имена баз данных, поэтому для имен баз данных, таких как моя, которые, как правило, имеют много пробелов и т. Д., Он выдает такие утверждения, как USE Report Server (Sandbox)TempDB (вместо того USE [Report Server (Sandbox)TempDB]), и обновление не выполняется. Решение состоит в том, чтобы инструмент выполнил сценарий обновления, вручную исправил его и применил самостоятельно. Видеть http://www.eggheadcafe.com/software/aspnet/30860451/database-problem.aspx

Вот еще несколько советов:

  • Когда Configuration Manager выдает вам «сообщения» внизу страницы, вы можете щелкнуть сообщение, чтобы увидеть более подробную информацию. (Нет ничего, что указывало бы вам на этот факт; мне потребовалось довольно много времени, чтобы понять, что инструмент был готов объяснить мне, что база данных устарела, если бы я только волшебным образом щелкнул что-то, что не вызывает щелчка .)
  • Когда вы просите его сгенерировать для вас сценарий обновления (нажмите кнопку «Сценарий…», затем нажмите «Обновить сценарий базы данных» слева), он предложит вам ввести «Версия сервера». На самом деле здесь запрашивается версия служб отчетов SQL Server, соответствующая версии базы данных, с которой вы пытаетесь выполнить обновление, что довольно неудобно. Похоже, что версия базы данных C.0.8.40 соответствует Reporting Services 2005, а версия базы данных C.0.8.43 соответствует Reporting Services 2005 SP1. (C.0.8.54 соответствует Reporting Services 2005 SP2.)
  • Сгенерированный сценарий кажется достаточно устойчивым к частично примененным обновлениям, но, с другой стороны, он с радостью частично обновит вашу версию базы данных. Так что перед запуском скрипта обновления вы можете принять меры предосторожности, такие как начало и фиксация тривиальных помеченных (именованных) транзакций в служебных базах данных (для упрощения восстановления на определенный момент времени, если что-то станет грушевидным), обернув весь скрипт в а BEGIN TRAN/COMMIT TRAN и запустить его с sqlcmd -b, и т.д.