2016-11-30 1 views
0

ИЗМЕНИТЬ ВИДЕТЬ EDITS: Как и полный noob, я случайно удалил наш ReportServerTempDB (у меня есть резервная копия ReportServer, но нет ReportServerTemp, вживую и учиться). (С помощью SQL Server 2008 R2)Устранение неполадок Re Создание ReportServerTempDB

Чтобы восстановить базу данных, я последовал несколько онлайновых руководств, которые дали несколько стадий:

  • создал новую базу данных с именем ReportServerTempDB, и с той же сортировки, как ReportServer (сортировки был ключ)
  • сделал новую базу данных роли под названием RSExecRole с тем же пользователями, как мой ReportServer (также ключ, чтобы убедиться, что эта роль имеет правильные права доступа к таблицам)
  • запускал скрипт CatalogTempDB который бежал без сучка (версия для CatalogTempDB недостаточно для воссоздания всех объектов необходимо)
  • Б Менеджер служб Reporting Services Config Изменение базы данных и выбрал ReportServer
  • Просто для хорошей мерой выключения и включения служб отчетов SQL Server несколько раз

Но я все еще получаю ошибку, когда я попробуйте загрузить главную страницу служб Reporting Services: Произошла ошибка в базе данных сервера отчетов. Это может быть связано с сбоем подключения, таймаутом или низким диском в базе данных. (rsReportServerDatabaseError). Для получения дополнительной информации об этой ошибке перейдите к серверу отчетов на локальном сервере или удалите ошибки

Что я забыл? В качестве альтернативы я могу просто «создать новую базу данных сервера отчетов» и импортировать резервную копию моего исходного ReportServer? TIA

EDIT: Я рассмотрел RSExecRole и удостоверился, что у него есть разрешение на редактирование таблиц и выполнение хранимых процедур (онлайновые источники не прописали это очень четко), и после перезапуска службы Reporting Services моя ошибка изменилась на «Ошибка произошел в базе данных сервера отчетов. Это может быть связано с ... Недопустимое имя объекта «ReportServerTempDB.dbo.TempCatalog». Невозможно использовать представление или функцию «ExtendedCatalog» из-за ошибок привязки. « Дальнейшее чтение предполагает, что имя сервера отчетов temp жестко закодировано во многие хранимые процедуры в ReportServer, но мой новый сервер отчетов temp имеет то же имя: ReportServerTempDB. Где отключается?

EDIT2: Таким образом, сценарий, который я использовал, CatalogTempDB, не создавал всех таблиц, необходимых для восстановления моего временного сервера отчетов Db. Я создал новый сервер отчетов и ReportServerTempDB (который изменил имя) и сравнил объект в моем ReportServerTempDB, созданный с помощью CatalogTempDB, с тем, который создал мастер SQL. Затем он использовал мастер импорта для добавления отсутствующих таблиц и повторного запуска службы отчетов с моим оригиналом. Вуаля.

С удовольствием предоставим более подробную информацию о любом из этих шагов.

ответ

0

Чтобы восстановить базу данных, я последовал несколько онлайновых руководств, которые дали несколько стадий:

  • создал новую базу данных с именем ReportServerTempDB, и с тем же комплектовке как ReportServer (сверка была ключом, и вам необходимо назначить это когда Yout создает БД)
  • сделал новую базу данных роли под названием RSExecRole с тем же пользователями, как мой ReportServer (также ключ, чтобы убедиться, что эта роль имеет правильные права доступа к таблицам и хранимые процедурам)
  • запускал скрипт CatalogTempDB который бежал без сучка и задоринки (версия CatalogTempDB w как недостаточно для воссоздания всех необходимых объектов, отсутствовало несколько таблиц)
  • Чтобы заменить отсутствующие таблицы, я создал второй экземпляр ReportServer (с помощью диспетчера конфигурации служб Reporting Services) и сравнил временную db с моей реконструированной временной db и заполнял отверстия

Мораль: Храните резервные копии ОБА ReportServer и ReportServerTempDB

 Смежные вопросы

  • Нет связанных вопросов^_^