У меня есть сервер SQL Server 2008 R2 с кучей опубликованных баз данных, которые в настоящее время работают на уровне совместимости 90 (2005).
Базы данных подписки также являются SQL Server 2008 R2, однако для целевых баз данных установлен уровень совместимости 100, и репликация работает нормально.
Если я изменю уровень совместимости для опубликованных баз данных, повлияет ли это каким-либо образом на репликацию, или это будет просто случай повторной инициализации всех подписок и перезапуска репликации?
Я подозреваю, что изменение опубликованного уровня совместимости базы данных может немного изменить работу хранимых процедур репликации, но я не уверен на 100%.
Это тот случай?
Ответы:
Вы можете выполнить следующие шаги:
источник
"Change compatibility level of distributor" before "Change the compatibility level of the (published) database"
это правильно. База данных распространителя должна иметь такой же или более высокий уровень совместимости, чем Publisher. Издатель может быть на том же или более низком уровне, чем распространитель.Мы сделали это, просто для безопасности, мы прекратили реплицировать эту базу данных, изменили уровень совместимости, а затем повторно инициализировали. Мы не понесли никаких проблем. Это была довольно маленькая публикация, и была подписана только одна база данных. Я думаю, что это может быть сложнее, так как ваши сценарии репликации усложняются. (то есть, подписываясь на БД, получая публикации от многих БД и т. д.)
источник