Перейти к содержанию

Название пакета: OLAP_ProcessRenameDatabase

Описание

Пакет SSIS для переименования OLAP баз данных. Используется для переключения обработанной базы данных (Process) в продуктивную (Prod), с сохранением старой продуктивной базы под другим именем (OLD). Процесс включает завершение всех активных сессий, последовательное переименование баз и отправку email-уведомлений о результате.

Схема

17

Список шагов

1. Create Batch identifier

  • Тип: Execute SQL Task
  • Описание: Создание идентификатора пакета для аудита
  • Процедура: audit.usp_GetBatch
  • Параметры:
  • @Batch (output) - идентификатор пакета
  • @PackageName - название пакета

2. Sequence Container

Основной контейнер с шагами переименования баз данных.

2.1. Kill ALL Session on OLAP ProdDB

Описание: Завершение всех активных сессий на продуктивной OLAP базе данных

  • Тип: Execute SQL Task
  • Процедура: etl.usp_ASSP_KillAllConectionToDatabase
  • Назначение: Принудительное завершение соединений перед переименованием
  • Параметры:
  • @pnBatch_ID = Batch
  • @psLinkedServerName = OLAP_LINK_ProdName (OLAP_APP05_SellOut_IBP)
  • @psDatabaseName = OLAP_DB_ProdName (SellOut_IBP)
  • @Error (output)

Условие перехода: - Если @Error == 0 → переход к Rename OLAP DB (Prod->OLD) - Если @Error != 0 → переход к Send EMAIL - failed


2.2. Rename OLAP DB (Prod->OLD)

Описание: Переименование текущей продуктивной базы в OLD (архивная копия)

  • Тип: Execute SQL Task
  • Процедура: etl.usp_OLAP_RenameDatabase
  • Назначение: Освобождение имени продуктивной базы
  • Параметры:
  • @pnBatch_ID = Batch
  • @psLinkedServerName = OLAP_LINK_ProdName (OLAP_APP05_SellOut_IBP)
  • @psDatabaseName = OLAP_DB_ProdName (SellOut_IBP)
  • @psNewDatabaseName = OLAP_DB_OLD_ProdName
  • @Error (output)

Условие перехода: - Если @Error == 0 → переход к Rename OLAP DB (Process->Prod) - Если @Error != 0 → переход к Send EMAIL - failed


2.3. Rename OLAP DB (Process->Prod)

Описание: Переименование обработанной базы (Process) в продуктивную (Prod)

  • Тип: Execute SQL Task
  • Процедура: etl.usp_OLAP_RenameDatabase
  • Назначение: Ввод новой версии базы в эксплуатацию
  • Параметры:
  • @pnBatch_ID = Batch
  • @psLinkedServerName = OLAP_LINK_ProcessName (OLAP_APP05_SellOut_IBP_Process)
  • @psDatabaseName = OLAP_DB_ProcessName (SellOut_IBP_Process)
  • @psNewDatabaseName = OLAP_DB_ProdName (SellOut_IBP)
  • @Error (output)

Условие перехода: - Если @Error == 0 → переход к Send EMAIL - successfull - Если @Error != 0 → переход к Send EMAIL - failed


2.4. Send EMAIL - successfull

Описание: Отправка email-уведомления об успешном завершении

  • Тип: Execute SQL Task
  • Назначение: Отправка email о успешном переименовании
  • Процедура: msdb..sp_send_dbmail
  • Параметры:
  • Subject: "Process Rename [OLAP_DB_ProdName] - successfull"
  • Body: "Процесс переименования рабочей базы [OLAP_DB_ProdName] завершен."
  • Body format: HTML

2.5. Send EMAIL - failed

Описание: Отправка email-уведомления об ошибке

  • Тип: Execute SQL Task
  • Назначение: Отправка email о неудачном выполнении операции
  • Процедура: msdb..sp_send_dbmail
  • Параметры:
  • Subject: "Process Rename [OLAP_DB_ProdName] - failed"
  • Body: "Процесс переименования рабочей базы [OLAP_DB_ProdName] failed on step [ETL_CurrentStepName]"
  • Body format: HTML
  • Importance: High

3. Finish batch

  • Тип: Execute SQL Task
  • Описание: Завершение пакета и обновление статуса в аудите
  • Процедура: audit.usp_UpdateBatch
  • Параметры: @Batch

Список задействованных объектов

1. Подключения

  • DWH_BI: ADO.NET подключение к базе данных KRAFT_DWH_CSL
  • Сервер: arrrumosapp14
  • Пользователь: DWHSQLUser
  • База данных: KRAFT_DWH_CSL

2. OLAP базы данных

Продуктивная база данных: - База данных: SellOut_IBP - Linked Server: OLAP_APP05_SellOut_IBP

Процессинговая база данных: - База данных: SellOut_IBP_Process - Linked Server: OLAP_APP05_SellOut_IBP_Process

Старая версия базы данных: - База данных: (пусто) - Linked Server: (пусто)

3. Внешние параметры, конфигурация

  • Config File: CFG_DWH_Connection.dtsConfig

Системные переменные: - Batch = -1 (идентификатор пакета) - Error = 0 (код ошибки) - Worker = 0 - ETL_CurrentStepName = "-" (название текущего шага)

Конфигурация DWH: - DWH_ServerName = "arrrumosapp14" - DWH_DB_Name = "KRAFT_DWH_CSL" - DWH_Link_Name = "KRAFT_DWH_CSL_LINK" - DWH_LoginName = "DWHSQLUser" - DWH_LoginPwd = "*"

Конфигурация OLAP баз данных: - OLAP_DB_ProdName = "SellOut_IBP" - OLAP_DB_ProcessName = "SellOut_IBP_Process" - OLAP_DB_OLD_ProdName = "" (пустая строка) - OLAP_DB_ProcessNameTimestamp = "SellOut_IBP_20151020_1505"

Конфигурация Linked Servers: - OLAP_LINK_ProdName = "OLAP_APP05_SellOut_IBP" - OLAP_LINK_ProcessName = "OLAP_APP05_SellOut_IBP_Process" - OLAP_LINK_OLD_ProdName = "" (пустая строка)