SQL Server: уровень совместимости базы данных после обновления - PullRequest
1 голос
/ 12 марта 2019

В настоящее время мы обновляем несколько экземпляров SQL Server с SQL Server 2008 R2 до SQL Server 2012.

Это временное решение (поскольку поддержка Microsoft EOL для 2008 R2 скоро будет).

Я заметил, что после обновления все системные базы данных EXCEPT master установлены на новый compatibility_level (110).

Кто-нибудь знает, почему [master] не получает новый compatibility_level в рамках обновления?

Я знаю, что могу установить его вручную, но удивляюсь, почему он не установлен по умолчанию в качестве другой системной базы данных.

Спасибо

enter image description here

1 Ответ

1 голос
/ 12 марта 2019

Из документации SQL Server 2017, однако такое же поведение можно наблюдать и в SQL Server 2012: Уровень совместимости ALTER DATABASE (Transact-SQL)

Приведенные ниже варианты поведения ожидаются для SQL Server 2017 (14.x), когда база данных присоединена или восстановлена, и после обновления на месте :

  • Если уровень совместимости базы данных пользователей до обновления составлял 100 или выше, то после обновления она остается прежней.
  • Если уровень совместимости базы данных пользователей до обновления составлял 90, в обновленной базе данных уровень совместимости устанавливается равным 100, что является самым низким поддерживаемым уровнем совместимости в SQL Server 2017 (14.x).
  • Уровни совместимости баз данных tempdb, model, msdb и Resource установлены на текущий уровень совместимости после обновления.
  • База данных главной системы r поддерживает уровень совместимости , который был до обновления.

Итак, это поведение по замыслу.

...