Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SSIS-пакет. Доступность базы  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 894
Hello world!

Для интеграции DWH и баз-источников, созданы SSIS - пакеты. Таких баз порядка 10 шт.
Обращение к источнику происходит через Connection Manager, где прописаны все параметры подключения.

Периодически, какой-то из серверов выключают, переносят или химичат с учетными данными.
Из-за этого весь пакет заваливается.

Если ли возможность делать проверку на доступность базы из SSIS - пакета?

Параллельно решаем этот вопрос административно, но в моей компании это может растянуться на неопределенный срок.
28 ноя 17, 10:09    [20987553]     Ответить | Цитировать Сообщить модератору
 Re: SSIS-пакет. Доступность базы  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2375
Yagrus2,

первый пакет с запросом вида "where 1=2", если он падает, значит база недоступна
28 ноя 17, 10:13    [20987564]     Ответить | Цитировать Сообщить модератору
 Re: SSIS-пакет. Доступность базы  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 537
Yagrus2
...

Если ли возможность делать проверку на доступность базы из SSIS - пакета?

А какую задачу вы пытаетесь решить такой проверкой?
Предложенный выше способ - примитивный
select 0
- подойдет с ограничениями. SSIS до выполнения пакета его валидирует, то есть пытается подключиться к источнику и проверпить источники на соответствие с определениями пакета. Если подключения нет - пакет завалится еще на этапе валидации, до выполнения select. Придется писать для всех Data Flow - пакета delayvalidation=true и пр.
Если вы запускаете пакет из SQL Job - я бы первыми действиями сделал примитивный select к каждому источнику, и обрабатывал результаты. Тогда из шага, на котором упал Job - можно понять, какая база недоступна.
28 ноя 17, 10:43    [20987640]     Ответить | Цитировать Сообщить модератору
 Re: SSIS-пакет. Доступность базы  [new]
Tepes
Member

Откуда:
Сообщений: 40
Yagrus2,
У меня такой пакет
SELECT @@servername as Server, 
	db_name () AS DatabaseName,
	cast (DATABASEPROPERTYEX(db_name (), 'Status') AS varchar ) AS DBStatus,
	cast (DATABASEPROPERTYEX(db_name (),'UserAccess') AS varchar) AS Access
28 ноя 17, 10:59    [20987682]     Ответить | Цитировать Сообщить модератору
 Re: SSIS-пакет. Доступность базы  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 894
Ferdipux
А какую задачу вы пытаетесь решить такой проверкой?

Повысить надежность выполнения пакета. Чтоб недоступность одной из баз не влияла на весь пакет.
28 ноя 17, 12:34    [20988010]     Ответить | Цитировать Сообщить модератору
 Re: SSIS-пакет. Доступность базы  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
Yagrus2
Ferdipux
А какую задачу вы пытаетесь решить такой проверкой?

Повысить надежность выполнения пакета. Чтоб недоступность одной из баз не влияла на весь пакет.

Коллега, если отвлечься немного в сторону от работы самих пакетов SSIS.
Есть одна база. В ней продажи розничные по чекам в разрезе ККМ.
Есть вторая база. В ней из кассовой системы заносят привязку новых ККМ к магазинам учетной системы.
Выгрузили продажи. Вторая база недоступна. Вы как будете - чеки "кидать" на неопознанный магазин с кодом 0? Для всех ККМ новых в одну кучу?
То есть я к чему - данные есть, циферки куда-то выгрузились и просуммировались. Но в одном или нескольких разрезах - это мусор. А дальше то что...
Если данные между собой связаны - значит, на момент отработки пакета SSIS - когда данные в DWH меняются от одного стабильного состояния до другого - все источники должны быть онлайн и отдавать корректные данные.
Если у Вас постфактум идет update на полученные данные информацией из другой системы - так зачем все пихать в один SSIS пакет? Вам нужна параллельная загрузка? Ну так можно в SQL Agent Job сделать старт нескольких других заданий последовательным вызовом процедур msdb.dbo.sp_start_job, а внутри каждого задания по своему пакету и по обвязке - проверка доступности БД-источника, отсылка писем и так далее.
28 ноя 17, 12:46    [20988061]     Ответить | Цитировать Сообщить модератору
 Re: SSIS-пакет. Доступность базы  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33260
Блог
делаем проверку по периодическому выполнению SELECT 1, если ошибка, то письмо (причем не только перед загрузкой, но и после релиза, т.к. у нас переметризированные пакеты, и если накосячить с параметрами, то пакет работать не будет)
+
каждый источник грузится в своем проекте (более 20)
28 ноя 17, 13:30    [20988304]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить