Вплив зміни рівня сумісності БД для опублікованих реплікуваних БД з 90 до 100


11

У мене є сервер SQL Server 2008 R2 з купою опублікованих баз даних, які зараз працюють на рівні сумісності 90 (2005).

Бази даних передплати також є SQL Server 2008 R2, однак цільові бази даних встановлені на рівні сумісності 100 і реплікація працює нормально.

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

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

Це так?


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

Основна причина, яку я хотів би змінити, - це те, що БД і сервери, на яких вони сидять, були лише оновлені з одновузлового вікна 2005 року до багатовузлового кластеру 2008R2. Крім того, є кілька інших бітів функціональності (наприклад, MERGE тощо), які я хотів би мати можливість використовувати.
Боб

1
Ви можете прочитати це питання щодо того, що робить рівень сумісності: dba.stackexchange.com/questions/5166/…
Jon Seigel,

Кінець цивілізації. Кішки та собаки, що живуть разом. Масова істерія. Я також мушу зазначити, що це може спричинити закриття уряду. Однак вам здається, що на цьому ви зрозуміли.
swasheck

Відповіді:


4

Ви можете виконати наступні кроки:

  • Переконайтеся, що агент зчитування журналів працює для бази даних. За замовчуванням агент працює постійно.
  • Зупиніть активність користувачів на опублікованих таблицях.
  • Дозвольте агенту зчитування журналів скопіювати транзакції в базу даних розподілу, а потім зупиніть агент.
  • Виконайте sp_replcmds, щоб перевірити, чи були оброблені всі транзакції. Результат цієї процедури повинен бути порожнім.
  • Виконайте sp_replflush, щоб закрити з'єднання з sp_replcmds.
  • Змінення рівня сумісності бази даних .
  • Запустіть агент зчитування журналів.

У мене дуже схожа настройка і хочу зробити те ж саме, але моя база даних розподілу також знаходиться в режимі сумісності 90. Як я розумію, дистриб'ютор не може працювати в режимі нижчої сумісності як видавець. Так чи був би порядок операцій просто вставити "Змінити рівень сумісності дистриб'ютора" перед "Змінити рівень сумісності (опублікованої) бази даних" - після вимкнення зчитувача журналів?
Черга Манна

@QueueMann "Change compatibility level of distributor" before "Change the compatibility level of the (published) database"це правильно. База даних дистрибутиву повинна бути на тому ж або вище рівні сумісності, ніж Publisher. Видавець може бути на тому ж або нижчому рівні, ніж дистрибутор.
Кін Шах

2

Ми зробили це, просто для безпеки ми перестали тиражувати цю базу даних, змінили рівень сумісності, а потім повторно реалізували. У нас проблем не виникало. Це було досить невелике видання, і було підписано лише одну базу даних. Я думаю, що це може бути складніше, оскільки ваші сценарії реплікації стають складнішими. (тобто передплачуючи db, отримуючи публікації з багатьох dbs тощо)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.