Обслуговуються і керовані пакети

Служба інтеграції дозволяє створювати додатки з відносно невеликими зусиллями Це досить вагома перевага з точки зору процесу розробки рішень, але воно може стати джерелом проблем при відсутності належного планування При написанні працездатних і керованих додатків будьте уважні, незалежно від реалізації На щастя, служба інтеграції оснащена безліччю засобів, що підтримують довгострокову працездатність і керованість

Перед етапом розробки дуже важливим моментом є проектування, особливо якщо робота над додатком служби інтеграції здійснюється в першу чергу, так як практичні результати часто використовуються на наступних етапах, зокрема протоколювання, аудит і загальна структура даних Можливо, ключовою перевагою розробки додатків з використанням служби інтеграції є можливість централізації всій обробки даних в одному місці, з чітким розмежуванням послідовності дій і можливістю обробки виникаючих помилок Централізація істотно підвищує працездатність додатку по порівнянні з традиційним підходом сценарій – тут, програма – там, а збережена процедура – взагалі невідомо де. Під час проектування не забудьте приділити увагу і ряду інших питань

■ Ідентифікуйте повторювані фрагменти для їх подальшого багаторазового використання Багато повторювані завдання виконують над обєктами одні й ті ж дії і використовують одні й ті ж метадані – саме вони є першими кандидатами на приміщення в окремі субпакети

■ Ключем до успіху в процесі експлуатації є підходяща стратегія протоколювання Запитайте себе, хто відповідатиме за усунення виниклої помилки і як він про неї дізнається Наприклад, як відповідальний дізнається, що деякий пакет мав бути запущений, але цього з деякої причини не сталося Який рівень протоколювання достатній (Зауважте, що більше не завжди краще. Занадто багато непотрібних деталей здатне тільки замаскувати справжню проблему) Який тип інформації про стан пакету і середовища необхідний для виявлення причини виникнення помилки

■ Концепції аудиту можуть виявитися корисними для операцій узгодження та відновлення після помилок Який тип даних можна асоціювати з даними, створюваними в пакеті Якщо необхідний великий обсяг інформації, подумайте про створення багаторівневого протоколу, поміщаючи в оброблені записи тільки ідентифікатори

■ Які деталі пакетів змінюватимуться при запуску пакетів на різних платформах Який режим зберігання (реєстр, XML, SQL і тп) буде більш ефективним при поширенні даних конфігурації Якщо можливо, використовуйте конфігурування на рівні системи, а не на рівні пакету – це спростить поширення і супровід налаштувань

■ Визначте порядок відновлення після збоїв пакета Запитайте себе, чи буде потрібно втручання вручну для того, щоб знову запустити пакет Наприклад, пакет, що завантажує дані, може зажадати використання транзакцій, щоб після відновлення після збою не утворилися дублюються рядка

■ Для довгограючих пакетів продумайте логіку розстановки контрольних точок, з яких можна заново запускати пакет

■ Визначте найбільш ймовірні точки виникнення помилок в пакеті Подумайте, які дії доведеться вжити для виправлення помилки (реально, а не теоретично) Якщо можливо, внесіть ці дії в пакет, використовуючи потоки помилкових даних і обмеження, щоб не навантажувати зайвою роботою обслуговуючий персонал

Правильний стиль програмування також здатний підвищити обслужіваемость пакета Давайте пакетам, завданням, компонентам та іншим видимим обєктам осмислені імена Вільно використовуйте примітки, щоб обслуговуючий персонал зміг зрозуміти неочевидні рішення і причини їх використання Це також допоможе і розробникам, які в майбутньому будуть розвивати пакет Обовязково використовуйте програми управління версіями, щоб підтримувати історію пакету і повязані версії файлів

Протоколювання

Оскільки безліч пакетів призначено для дітей без супроводу операцій, генерація журналу виконання є відмінним методом відстеження операцій і накопичення налагоджувальної інформації Клацніть правою кнопкою миші в робочій області конструктора пакетів і виберіть у контекстному меню пункт Logging У вкладці Providers and Logs додайте постачальника для кожного типу виводу, який буде протоколюватися (Допустимо безліч постачальників) У вкладці Details визначте події, для яких створюватимуться записи в журналі Розширене уявлення (рис 426) також дозволяє вибрати стовпчики, що включаються в кожну запис журналу

Деревоподібне подання на лівій панелі є контейнером ієрархії пакета Прапорці відповідають за параметр LoggingMode кожного обєкта: порожній прапорець відповідає режиму відключення, відзначений – включеному режиму, а сірий дозволяє успадковувати налаштування протоколювання від батьківського обєкта Якщо виділити який-небудь елемент в

Puc 426 Розширене уявлення вкладки Advanced

дереві, то відобразяться його деталі Слід зазначити, що постачальники можуть бути налаштовані тільки для пакета в цілому, а параметри всіх обєктів із встановленим параметром UseParent Set tings будуть недоступні на відміну від параметрів батьківських обєктів

Стандартні постачальники журналу описані нижче

■ Text File Запис у текстовий файл з роздільниками Конфігурування виконується у відповідному диспетчері підключень

■ SQL Profiler Запис у файл TRC, який можна переглянути в утиліті SQL Profiler Цей метод може стати в нагоді, коли потрібно поряд з журналом пакета переглянути іншу інформацію про продуктивність сервера Конфігурування виконується у відповідному файловому менеджері підключень

■ SQL Server Запис у таблицю dbo sysdtslog90 бази даних, позначеної у відповідному диспетчері підключень OLE DB Для обслуговування таблиці може бути обрана будь-яка база даних Якщо схема таблиці не існує, то вона буде створена при першому використанні

■ Event Log Запис у журнал подій Windows того компютера, на якому виконується пакет Конфігурація в даному випадку не потрібно

■ XML File Запис у файл XML Конфігурування виконується у відповідному диспетчері підключень

Вкладка Details вікна конфігурації протоколювання також має розширений режим, що дозволяє вибрати реєстровані стовпці для кожного з подій Коли необхідна конфігурація комбінацій подія-стовпці буде вибудувана, її можна зберегти як шаблон і використовувати в інших пакетах

Конфігурація пакета

Конфігурації пакетів полегшують переміщення пакетів між серверами і платформами Це дозволяє встановити властивості пакетів, засновані на специфічних для кожного середовища конфігураціях Наприклад, імена серверів і вхідні каталоги можуть змінюватися при переміщенні пакету з середовища розробки в середу експлуатації

Клацніть правою кнопкою миші в робочій області конструктора пакетів і виберіть у контекстному меню пункт Package Configurations У вікні, відобразиться список конфігурацій, застосовуваний до пакету в порядок перерахування Щоб додати нову конфігурацію, переконайтеся, що зміни активізовані, і клацніть на кнопці Add Коли запуститься майстер конфігурації пакетів (Package Configuration Wizard), виберіть необхідний тип конфігурації (розміщення сховища) По суті, слід розглядати три категорії

■ Registry & Environment Variable Ці типи дозволяють зберігати тільки один параметр

■ XML File & SQL Server Table Кожен з цих типів дозволяє зберігати будь-яке число налаштувань параметрів

■ Parent Package Variable Здійснює доступ з викликається пакета до вмісту однієї змінної

Більшість типів конфігурацій дозволяє ідентифікувати місце зберігання або безпосередньо, або за допомогою змінної середовища Змінні середовища можуть виявитися корисними, коли в різних середовищах місце зберігання (Наприклад, файловий каталог) відрізняється Після визначення типу конфігурації і місця зберігання параметр Select Properties to Export дозволяє вибрати ті параметри, які будуть змінюватися в різних середовищах На закінчення перегляньте вибрані настройки, надайте імя конфігурації і завершите роботу майстра

Конфігурації можуть багаторазово використовуватися в різних пакетах, якщо імена обєктів, що містять настроюються параметри, ідентичні Зокрема, пакети, що використовують однакові імена своїх диспетчерів підключень, можуть спільно використовувати конфігурацію, визначальну сервер та імена файлів Щоб використовувати готову конфігурацію в додаткових пакетах, виберіть її тип, а потім визначте те ж місце зберігання (Наприклад, файл XML), що й у вихідному пакеті Коли відкриється діалогове вікно, яке попереджає, що така конфігурація вже існує, виберіть опцію Reuse Existing

Перезапуск з контрольної точки

Дозвіл перезапуску пакета з контрольних точок дозволяє не повторювати виконання завдань, що завершилися успішно Врахуйте наведені нижче правила використання точок перезапуску

■ Тільки завдання потоку управління визначають точки перезапуску всі завдання потоку даних видно як один робочий елемент, незалежно від того, скільки компонентів вони містять

■ При збої будь-яка транзакція, яка перебуває у процесі виконання, відкочується, так що точка перезапуску повинна знаходитися перед цією транзакцією Таким чином, якщо весь пакет виконується як єдина транзакція, перезапуск повинен завжди здійснюватися з першої операції пакета

■ Будь-які контейнери циклу слід запускати з самого початку

■ Конфігурація, використовувана при перезапуску, зберігається у файлі контрольної точки, а не в поточному файлі конфігурації

Включення контрольних точок виконується за допомогою установки наступних параметрів пакета

■ CheckpointFilename Файл, в якому зберігається інформація про контрольній точці

■ CheckpointUsage Значення If Exists вказує починати виконання з контрольною точки, якщо такий файл існує, або з першої операції пакета в іншому випадку

Значення Always вказує на завершення виконання пакета, якщо файл контрольної точки не існує

■ SaveCheckPoints Для параметра збереження контрольних точок слід встановити значення true

До того ж для параметра FailPackageOnFailure має бути встановлено значення True в пакеті і у всіх завданнях і контейнерах, що виступають у ролі точок перезапуску

Джерело: Нільсен, Пол Microsoft SQL Server 2005 Біблія користувача : Пер з англ – М: ООО ІД Вільямс , 2008 – 1232 с : Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*