2016-02-18 6 views
0

У меня есть база данных в SQL Server под названием «XYZ». Теперь я хочу изменить его на «ABC».Переименовать текущую производственную базу данных

Проблема в том, что мои отчеты SSRS и пакеты SSIS подключены к XYZ. Все, что я создал отчеты SSRS & Теперь SSIS работает, пользователи используют этот отчет 24/7.

Есть ли способ переименовать базу данных с минимумом/без простоя сервера/базы данных?

Благодаря

+0

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

+0

, но моя конфигурация всех служб отчетов связана с db с именем XYZ – Jack

+2

. Ваши отчеты должны относиться к общему источнику данных и что общий источник данных относится к базы данных. Если это так, просто обновите общий источник данных. Если имя базы данных находится внутри ваших фактических отчетов, вы должны выполнить поиск и заменить на RDL –

ответ

1

Вот Руба Голдберга подход:

  1. Создать новую пустую базу данных, которая имеет имя, вы в конечном счете, намеревающиеся на переименовании текущую базу данных, чтобы (в вашем примере «ABC»)
  2. Создайте синоним новой базы данных для каждого объекта, на который ссылаются ваши SSIS-пакеты и отчеты SSRS, в которых используется имя из трех частей. Например: create synonym [ABC].[dbo].[myTable] for [XYZ].[dbo].[myTable]
  3. Обновите свои пакеты и отчеты, чтобы указать на новую базу данных.
  4. Под покровом темноты переименуйте ABC в ABC_drop и XYZ в ABC.
  5. Капля ABC_drop.

Это не исключает простоев, но дает вам время для обновления всех отчетов о пакете и ETL-пакетах. Откат также прост до шага 5.

+0

спасибо Бен, я проверю выше подход. – Jack

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