Управління обслуговуванням бази даних

SQL Server є центральним вузлом команд обслуговування бази даних СУБД забезпечила адміністратора баз даних можливістю складання плану обслуговування сервера

Планування обслуговування бази даних

Ідеальний план обслуговування бази даних включає в себе кілька завдань (у зазначеному порядку)

■ Перевірка узгодженості Слід виконати команди DBCC CheckDB і DBCC CleanTable для таблиць, які піддалися великим текстовим оновлень Потім слід перевірити цілісність структури бази даних, виконавши команди DBCC CheckCatalog, DBCC CheckConstraints іDBCC Checkldent

■ Оновлення статистики індексів

■ Дефрагментація бази даних

■ Перебудова індексів

■ Резервне копіювання Стратегічний план резервування бази даних включає в себе комбінацію повного, диференціального і транзакційного копіювання При цьому в резервуванні повинні брати участь як системні, так і всі істотні користувача бази даних

■ Перевірка розмірів файлів і вивільнення дискового простору

Всі ці завдання можна автоматизувати за допомогою завдань агента SQL Server Agent

З виходом пакету оновлень SP1 в роботі планів обслуговування сталися Увага деякі зміни

•&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp План обслуговування працює, коли встановлений компонент SQL Server Tools або Integration Services Раніше для цього було потрібно встановити обидва цих компонента

•&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp У плані обслуговування можна використовувати завдання очищення для видалення файлів резервних копій з підкаталогів

Вихід пакета SP2 також вніс деякі зміни в плани обслуговування

•&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Стала можливою підтримка безлічі розкладів Конструктор планів обслуговування підтримує безліч підлеглих планів одного головного, при цьому кожен підлеглий план може мати власний розклад для своїх завдань

•&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Плани обслуговування можуть працювати на безлічі серверів, використовуючи головний і цільової сервери при цьому після запуску майстра плану обслуговування потрібен якийсь конфігурування вручну

•&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Майстер плану обслуговування включає вкрай затребуване завдання Maitenance Cleanup, що існувала в SQL Server 2000 Це завдання видаляє файли, що залишилися від виконання плану обслуговування

•&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Завдання Database Backup включає можливість визначення параметра терміну життя резервної копії, що існував у версії SQL Server 2000

•&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Завдання Database Backup не змінює папку зберігання резервних копій, якщо вона була визначена в місці, відмінному від заданих за замовчуванням

•&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Завдання Database Backup не дає можливості помилково задати для системних баз даних диференційоване або транзакційних резервне копіювання,

•&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Завдання History cleanup містить можливість визначення інтервалу терміну життя файлів у годинах

•&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Завдання Update Statistics містить параметри повного сканування та розміру вибірки, які були доступні у версії SQL Server 2000

Майстер плану обслуговування

Майстер плану обслуговування, вбудований в утиліту Management Studio, допоможе автоматизувати базовий план обслуговування бази даних і виконати всі повязані з ним завдання Всі плани обслуговування відображаються в папці Management \ Maintenance Plans утиліти Клацніть правою кнопкою миші на цій папці і виберіть у контекстному меню пункт New Maintenance Plan У діалоговому вікні введіть імя плану обслуговування і клацніть на кнопці ОК

Після присвоєння імені планом обслуговування Management Studio відкриє вікно, що включає імя, опис і час запуску плану, а також список виконуваних завдань На рис 371 показаний приклад плану обслуговування з кількома введеними завданнями

Puc 371 Створення плану обслуговування за допомогою введення декількох завдань і часу їх запуску

Додавання завдання

План обслуговування повинен містити мінімум одну задачу На щастя, додати завдання не так вже й складно Для цього достатньо перетягнути з панелі завдань (рис 372) потрібний значок в робочу область плану обслуговування Після цього завдання прийме форму прямокутної області з описом (див рис 371)

В даний момент завдання ще сконфигурирована – конфігурація визначається в діалоговому вікні Properties (рис 373), вміст якого залежить від типу конкретного завдання Наприклад, якщо ви виберете завдання резервування бази даних, то побачите у вікні параметри вибору типу бази даних, типу пристрою резервування та іншу інформацію, повязану з цим типом За допомогою списку ви можете вибрати іншу задачу У центрі вікна Properties міститься список параметрів обраної завдання-їх можна організувати за категоріями або в алфавітному порядку У нижній частині вікна Properties відображається опис виділеного властивості Це опис зазвичай забезпечує користувача достатньою інформацією для коректного конфігурування обраної завдання

Рис 372 Для додавання нових завдань Рис 373 У вікні Properties визна-в робочу область плану виконання літе специфіку завдання

скористайтеся панеллю задач

Іноді вам може не знадобитися працювати з вікном параметрів Наприклад, ви можете створити нове завдання і пропустити вікно Properties, двічі клацнувши на завданні Відкриється вікно, специфічне для конкретної задачі (на рис 374 показано таке вікно для завдання резервування) На відміну від вікна Properties в ньому відображаються властивості завдання в контексті До того ж елементи в ньому затемнені, поки НЕ буде визначена їх коректна функціональність Наприклад, при виборі баз даних для резервування це діалогове вікно не дасть вам встановити які-небудь інші параметри, поки не буде виділена одна або кілька баз

Досить цікаво подивитися на програмний код Т-SQL, сформований майстром після установки параметрів задачі У вікні Тransact SQL неможливо відредагувати команди, в той же час, якщо ви збираєтеся конфігурувати програмний код SQL вручну, то можете попередньо поглянути на те, як з цим завданням справляється майстер плану обслуговування

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

Після того як визначена одне завдання, приступайте до формування наступної Ви можете створювати завдання в будь-якій послідовності, повязуючи їх в ланцюжок згодом в робочій області конструктора На рис 371 план обслуговування містив кілька повязаних завдань Цей план передбачав перевірку цілісності бази даних Northwind, наступне її резервування та обслуговування файлів

Puc 374 На додаток до вікна Properties для конфігурування ви можете скористатися діалоговим вікном, специфічним для конкретного завдання

Визначення графіка виконання

Створені завдання ви можете запустити на виконання вручну також можна зажадати від системи їх автоматичного запуску за розкладом Як правило, такі регулярні завдання, як резервування, краще автоматизувати Клацніть на еліпсі поруч з полем Schedule і в діалоговому вікні (рис 375) створіть графік виконання завдання

Створіть графік завдання-наприклад, заплануйте щоденне, щотижневе і щомісячне його виконання У цьому діалоговому вікні ви можете також вибрати конкретний час запуску завдання і задати інтервал, протягом якого завдання буде актуальним Єдине, чого не можна зробити в цьому діалоговому вікні, – це запланувати запуск завдання вручну Для налаштування запуску завдання вручну клацніть на червоному хрестику поруч з полем Schedule

Створення нового підключення

Залежно від налаштування бази даних для виконання деяких завдань вам може знадобитися створити кілька підключень Майстер плану обслуговування завжди пропонує підключення до примірника за замовчуванням, встановленому на локальному компютері Щоб додати інші підключення в поточний план обслуговування (майте на увазі, що дані підключення не поширюються на інші плани), клацніть на кнопці Connections Відкриється діалогове вікно, показане на рис 376

Puc 375 Створіть графік, що відповідає характеру завдання (намагайтеся призначати ресурсомісткі завдання на неробочий час)

Рис 376 Якщо завданню потрібні додаткові підключення, визначте їх

Клацніть на кнопці Add і додайте нове підключення Визначення підключення складається з трьох елементів: імені бази даних, імені сервера та реєстраційних даних системи безпеки сервера Намагайтеся в імені підключення відображати імя сервера та його примірника Якщо в майбутньому вам буде потрібно усувати будь-які проблеми, то таке імя, як Моє підключення, навряд чи вам допоможе швидко виконати обслуговування бази Імя сервера і його примірника можна ввести вручну або вибрати зі списку – в останньому випадку потрібно клацнути на еліпсі поруч з полем Enter or Select Server Name І на закінчення вам буде потрібно вибрати між вбудованою аутентифікацією SQL Server і використанням облікового запису Windows Для того щоб додати створене підключення до списку, клацніть на кнопці ОК

Діалогове вікно Manage Connections дозволяє редагувати і видаляти раніше створені підключення При редагуванні існуючого підключення ви можете змінити імя сервера, а також реєстраційні дані інші поля в діалоговому вікні будуть недоступні Щоб видалити зі списку підключення, потреба в якому відпала, клацніть на кнопці Remove

# Памятайте, що видалення підключення – це дорога з одностороннім рухом,

/ На замітку до того ж ця операція виконується досить швидко Перед натисненням на кнопці Remove двічі перевірте, чи правильне підключення виділено в списку

Протоколювання завдань обслуговування

Багато з завдань обслуговування, автоматизує за допомогою майстра, будуть виконуватися в неробочий час, коли ви навряд чи захочете сидіти за монітором Але ви можете зажадати від завдань обслуговування протоколювання своїх дій, щоб мати можливість перегляду журналу обслуговування в будь-який зручний час Для використання цієї функції клацніть на кнопці Logging Відкриється діалогове вікно, показане на рис 377

Puc 377 При бажанні ви можете змусити сервер протоколювати хід виконання завдань обслуговування бази даних

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

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

Обслуговування бази даних з командного рядка

Як правило, обслуговування бази даних виконується за допомогою утиліти Management Studio або автоматизується за допомогою агента SQL Server Agent Водночас обслуговувати

базу даних можна і з командного рядка DOS за допомогою утиліти SQLMaint Ця утиліта має безліч параметрів, які дозволяють виконувати резервування, оновлювати статистику і запускати команди утиліти DBCC Більш детальну інформацію про використання цієї утиліти ви можете отримати в SQL Server 2005 Books Online

Утиліта SQLMaint може виявитися корисною в деяких ситуаціях, коли в план обслуговування будуть включені деякі системні функції або сторонні утиліти резервного копіювання Але я все ж рекомендую залишатися з агентом SQL Server Agent, зрозуміло, якщо не виникають обставини непереборної сили, які не допускають його використання

Моніторинг обслуговування бази даних

Зовсім не достатньо лише запланувати виконання завдань обслуговування бази даних У великих реалізаціях, де десятки серверів розкидані по всьому світу, звичайний моніторинг стану сервера і його баз даних буде марною тратою часу У табл 371 наведено приклад стандартного списку завдань адміністратора бази даних, який можна прийняти за основу створюваного плану обслуговування

Таблиця 371 Щоденний план робіт, виконуваних адміністратором бази даних

Завдання Пн Вт Ср Чт Пт Сб

Резервування системних баз даних

Резервування виробничих баз даних

Запуск SQL Agent, SQL Main і DTC

Перевірка розмірів бази даних, її збільшення і вільного простору на диску

Виконання пакетних завдань

Виконання завдань DBCC

Перевірка помилок у журналі сервера

Запуск агента журналу реплікацій

Виконання завдань очищення вже розподілених реплікацій

Перевірка останнього перезавантаження сервера баз даних

Залежно від складності та кількості серверів адміністратор може створити даний список завдань вручну на робочому листі Excel або в таблиці SQL Server

Резюме

У цій главі ми зупинилися на питаннях обслуговування бази даних SQL Server пропонує багатий вибір команд і утиліт, які можна використовувати для моніторингу стану сервера баз даних і виконання його обслуговування Планом обслуговування слід охопити всі інсталяції SQL Server Це допоможе адміністратору впоратися зі своєю роботою, не пропустивши важливих елементів обслуговування сервера

У наступному розділі ми поговоримо про використання агента SQL Server Agent, який дозволяє автоматизувати виконання завдань

Автоматизація обслуговування баз даних за допомогою SQL Server Agent

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

В ідеальному випадку вам достатньо запланувати регулярні самоперевірки сервера баз даних У разі виявлення критичних помилок сервер попередить вас У версії SQL Server 2005 міститься спеціальний компонент, здатний генерувати попередження при виникненні небезпечних ситуацій Цей же компонент дозволяє запланувати регулярне виконання завдань обслуговування бази даних – наприклад, щотижня або в першу суботу місяця SQL Server Agent – це служба, відповідальна за обробку попереджень і запуск запланованих завдань

Джерело: Нільсен, Пол 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>

*

*