Нововведення в реплікації SQL Server 2005

У наступних розділах будуть описані всі нововведення, що зявилися в реплікації SQL Server 2005

Продовження реплікацій знімків бази даних

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

Публікації Oracle

SQL Server 2005 дозволяє конфігурувати СУБД Oracle для публікацій передплатникам і розповсюджувачам SQL Server 2005 Для цього майстер публікацій поміщає в таблиці Oracle відповідні тригери Ці тригери відстежують зміни, після чого посилають їх передплатникам SQL Server Сервер Oracle можна активізувати для реплікацій знімків бази даних і транзакцій Сервером Oracle не дозволені реплікація злиття Публікація розгортається за допомогою сценарію, що запускається на сервері видавця Oracle, що дозволяє видалити на ньому всі обєкти реплікації і метадані

Підвищена безпека

SQL Server 2005 з самого початку розроблявся як система з підвищеною безпекою Ніде підвищена захищеність не відчувається так, як в реплікації Раніше всі типи реплікації використовували загальний каталог Admin, з якого завантажувалися знімки баз даних У SQL Server 2005 він був замінений локальним каталогом (наприклад, \ Program Files \ Microsof t SQL Server \ MSSQL L \ Repldata), однак у вас є можливість конфігурувати цей каталог знімків для доступу підписок за запитом тих користувачів, у яких немає звичайних дозволів доступу до даного локального каталогу Всі агенти реплікації можуть запускатися під обліковим записом, відмінної від використовуваної агентом SQL Server Agent Це дозволяє призначити агентам реплікації нижчий рівень дозволів, ніж було можливо в SQL Server 2000 Тепер передплатники реплікації злиття можуть підключатися до Web-cepBepy і синхронізуватися з ним за допомогою захищеного протоколу HTTPS Цей варіант більш захищений, ніж ті, які були доступні в SQL Server 2000

Однорангова модель реплікації

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

Щоб включити реплікацію транзакцій для участі в одноранговой топології, створюється звичайна публікація транзакцій (але без безпосередніх оновлень) Після створення клацніть правою кнопкою миші на публікації, виберіть у контекстному меню пункт Subscription Options і встановіть для параметра Allow Peer to Peer Subscriptions значення true Розгорніть підписку у всіх передплатників Після того як всі підписки будуть розгорнуті у всіх передплатників, клацніть правою кнопкою миші на публікації і запустіть майстер конфігурації одноранговой реплікації

Реплікація інструкцій DDL

Тепер ви можете при бажанні реплицировать всі інструкції DDL, в тому числі ALTER TABLE, ALTER VIEW, ALTER PROCEDURE, ALTER FUNCTION і ALTER TRIGGER

У попередніх версіях SQL Server, щоб внести зміни в схему, часто доводилося видаляти публікації, хоча SQL Server 2000 і дозволяв внести деякі зміни за допомогою збережених процедур реплікації sp_repladdcolumn і sp_repldropcolumn

Також у вас є можливість відключити реплікацію змін схеми, клацнувши правою кнопкою миші на публікації і вибравши в контекстному меню пункт Subscription Options Встановіть для параметра Replication Schema Properties значення false Цей параметр доступний у всіх типах реплікацій

Реплікація повнотекстових індексів

SQL Server 2005 дозволяє реплицировать повнотекстові індекси Для цього потрібно включити в базі даних підписувача повнотекстову індексацію і вказати це властивість в параметрах статті У діалоговому вікні статті клацніть на кнопці Article Properties, встановіть перемикач в положення Set Prtoperties of Highlited Table Article або Set Properties of All Table Articles і встановіть для параметра Copy Full-Text Indexes значення True

Дозвіл анонімних підписок на всі публікації

У SQL Server 2000 існувало два типи передплатників: іменовані і анонімні Іменувалося зазвичай мале число передплатників Метадані реплікацій зберігалися для всіх іменованих передплатників і віддалялися при розгортанні Метадані реплікацій не відслідковуються для анонімних передплатників і зазвичай були однаковими для кожного з них Публікації мали створюватися окремо для іменованих і анонімних передплатників У SQL Server 2005 всі публікації можуть бути розгорнуті як у іменованих, так і у анонімних передплатників

Логічні записи в реплікації злиття

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

Попередньо обчислені розділи

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

Оновлення унікальних ключів

У SQL Server 2000 оновлення стовпця первинного ключа сегментувати на операції видалення та вставки Це призводило до проблем при виконанні каскадних видалень в таблицях У SQL Server 2005 оновлення стовпця первинного ключа реплицируется як інструкція UPDATE, що істотно підвищує продуктивність

Призначена для користувача обробка конфліктів за допомогою RM0

У версії SQL Server 2000 для вирішення конфліктів за допомогою ускладненою логіки доводилося створювати обєкти СОМ або збережені процедури У SQL Server 2005 складну логіку можна реалізувати за допомогою простору імен Microsof t SqlServer ReplicationBusinessLogicSupport обєктної моделі RMO Цю обєктну модель також можна використовувати для обробки помилок і змін даних

Численні поліпшення продуктивності

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

Маркери трасування

Один з найбільш поширених питань, повязаних з реплікаціями, звучало таким чином: Наскільки швидко після застосування транзакції у видавця вона застосовується у передплатника” Іншими словами, на скільки відстає передплатник від видавця У моніторі реплікацій SQL Server 2005 є спеціальна вкладка Trace Tokens Якщо клацнути на кнопці Insert Tracer в цій вкладці, у видавця містить запис, дозволяє дізнатися, скільки часу пройшло до застосування зміни в записи до передплатника (рис 392)

Puc 392 Використовуйте маркери для моніторингу затримок поновлення між видавцем і передплатником

Розпаралелювання транзакцій

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

Завантаження тільки статей

У SQL Server 2005 зявилася нова можливість визначати, які з статей призначені тільки для завантаження (тобто ці дані переміщаються тільки від видавця до передплатника)

Якщо зміни виконуються в поміченої таким чином таблиці і публікуються для реплікації злиття, то зміни, внесені на стороні передплатника, не зливаються із змінами видавця і залишаються тільки у передплатника Зміни, виконані на стороні видавця, зливаються з передплатником

Монітор реплікацій

Монітор реплікацій був повністю переписаний і тепер став центральним пультом управління реплікаціями Монітор реплікацій більше не інтегрований в інші утиліти – тепер він являє собою відокремлену консоль управління Запустити монітор реплікацій можна з папки Program Files \ Microsof t SQL Server \ 90 \ Tools \ Binn, ввівши імя файлу sqlmonitorexe Як альтернатива його можна запустити і з інтерфейсу Management Studio, клацнувши правою кнопкою миші на вузлі Replication потрібного сервера баз даних і вибравши в контекстному меню пункт Launch Replication Monitor Монітор реплікацій (рис 393) дуже схожий на групу Replication Monitor Group, присутню в SQL Server 2000 Він дозволяє швидко отримати оцінку стану всіх примірників SQL Server, які обрані для моніторингу

Puc 393 З метою спрощення роботи монітор реплікацій був перепроектований

На рис 393 показано, як виконується моніторинг примірника SQL Server 2005, який називається Main Нижче наведено список деяких поліпшень, виконаних в моніторі реплікацій

■ Покращена метрика У попередніх версіях SQL Server відображалися три стану завдань реплікації: успішно виконане (Successful), що не виконане (failed) і запущене повторно (retrying) У SQL Server 2005 в метрику доданий символ попередження, що відображає стан проблем продуктивності

■ Мінімізація впливу моніторингу на продуктивність У попередніх версіях SQL Server моніторинг міг при значній навантаженні призвести до блокування самих реплікацій У звязку з цим монітор реплікацій був перебудований з нуля, щоб мінімізувати вплив моніторингу на загальну продуктивність

■ Покращений моніторинг реплікацій злиття Монітор реплікацій тепер відстежує статистику на рівні статей реплікацій злиття, щоб допомогти адміністратору швидко виявити проблемні статті

■ Введені маркери трасування для вимірювання затримок в реплікації транзакцій Ці маркери дозволяють точно відслідковувати продуктивність реплікацій транзакцій і оцінювати їх тривалість

■ Попередження по закінченні терміну підписки Цієї можливості не було в SQL Server 2000

Реплікації злиття по протоколу HTTPS

У попередніх версіях SQL Server неможливо було налаштувати реплікацію через Інтернет Користувачеві доводилося використовувати віртуальні приватні мережі або сервери FTP Віртуальні мережі сильно сповільнювали продуктивність, і якщо не використовувався клієнт VPN від Microsoft (для його запуску потрібно було вибрати в меню Start пункт Settings1^ Network and Dial-Up Connections ^ Make a New Connection ^ Connect to a prinate network through the Internet), то досить дорого обходилися користувачеві Використання серверів FTP вважається незахищеним рішенням, оскільки пароль FTP передається в Інтернеті в незашифрованому (тобто текстовому) вигляді, якщо не використовується анонімний доступ (в останньому випадку завантажити знімок бази може взагалі будь-який бажаючий) Підключення через Інтернет також передбачає відкриття в брандмауері порту 1433 для вхідних підключень, що також піддає ризику систему Реплікація злиття в SQL Server 2005 дозволяє конфігурувати Web-сервер, що забезпечує синхронізацію клієнтів через Інтернет за допомогою захищеного протоколу HTTPS

Підвищення продуктивності та масштабованості реплікацій злиття

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

SQL RM0

У SQL Server 2000 можна було створювати реплікації з використанням збережених процедур реплікації і обєктної моделі SQL DMO У SQL Server 2005 була додана спеціальна обєктна модель RMO – саме вона в даний час вважається найбільш переважним методом створення обєктів реплікації (порівняно з SQL DMO) Модель SQL RMO можна використовувати в середовищі NET, до того ж вона створює меншу додаткову навантаження, ніж SQL DMO і збережені процедури реплікації

Спрощені майстра

Майстри реплікацій були значною мірою спрощені У SQL Server 2000 для розгортання найпростішої публікації у передплатника доводилося виконувати близько 52 клацань мишею У SQL Server 2005 майстри реплікацій мають ряд переваг

■ Вони містять приблизно на 40% менше сторінок

■ Значно спрощені діалогові вікна

■ Поліпшено автоматично визначаються значення і значення, прийняті за замовчуванням

■ Зменшено кількість рівнів розгалуження

■ Всі майстри пропонують записати виконані дії у вигляді сценарію або застосувати їх негайно

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

Ініціалізація передплатника

У попередніх версіях SQL Server доводилося розгортати знімок бази даних за допомогою запуску агента знімка для генерації схеми і даних у файловій системі, а потім запускати агент розповсюдження або злиття і відтворювати реплицируемой обєкти у передплатника Також існувала можливість попередньо створити базу даних підписки вручну, після чого виконати несинхронно підписку Ручне створення підписки передбачає великий обсяг роботи з налаштування обмежень і стовпців ідентичності з параметром NOT FOR REPLICATION і заміщення їх за допомогою відповідних процедур, що зберігаються реплікації Запуск агента знімків кожен раз і відправка файлів даних за допомогою агентів злиття або розповсюдження забирало багато часу, особливо коли обсяг знімка був великим

У SQL Server 2005 існує ряд додаткових варіантів переміщення даних бази

Резервування та відновлення

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

Копіювання бази даних

Ви можете також вручну створити всі обєкти на стороні передплатника за допомогою утиліти масового копіювання (Ьср), служби перетворення даних (DTS) і інших методів синхронізації даних Однак вам буде потрібно проробити солідний обсяг робіт по додаванню пропозиції NOT FOR REPLICATION в стовпці ідентичності та обмеження зовнішніх ключів також вам доведеться модифікувати збережені процедури реплікації

Динамічні знімки бази даних

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

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

*

*