Quantcast
Channel: Немножко всего .. из жизни администратора ms sql server
Viewing all articles
Browse latest Browse all 43

Обновление MS SQL Server в режиме AlwaysOn до новой версии MSSQL.

$
0
0

   Пришлось обновлять MSSQLServer 2012 до версии 2014, при этом MSSQLServerработало в режиме AlwaysOn. Сложного ничего нет, но есть несколько моментов, которые нужно учитывать при работе и обновлении. Главное, это конечно предварительное тщательное тестирование.


Итак, имеем двух узловой кластер с установленным MSSQLServer 2012 EnterpriseEditionSp2, необходимо обновить до MSSQLServer 2014 Sp1 Cu1.

Подготовительные работы:
  1.        Тестирование
  2.        Еще раз тестирование
  3.        Создание резервных копий системных баз данных (master, msdb)
  4.        Еще раз проверяем наличие всех копий баз данных.

Далее на переводим AlwaysOnв режим асинхронный.

Обновляем вторичную реплику AlwaysOnдо 2014 версии, ставим SPи последние CU.

После этого переводим AlwaysOnв синхронный режим, в этом момент синхронизация проходит, но вторичная реплика(так которую мы обновили не доступна для чтения),

Создаем копии бд и делаем Failover.

Активный узел AlwaysOnу нас стал на MSSQLServer2014 и уже в этот момент синхронизация данных на вторичный узел не происходит (режим Suspendу баз данных), т.к там еще младшая версия mssqlserver.

После этого проводим тестирование вашего приложения на узле MSSQLServer2014, проверяем журналы SQLServerна отсутствие ошибок.
Надо понимать, что на этот момент мы можем либо откатиться на данные до начала работ(восстановление из копий), либо на момент Failoverна SQL2014. Необходимо будет просто перевести базы данных в режим доступный для изменения на сервере с 2012 версией командой
    Restore Database DB with recovery

После того как все ОК, мы можем обновлять второй узел до MSSQLServer2014, ставить SP, CU.

Далее переводим базы данных группы доступности AlwaysOnиз режима “Suspend” в режим “Resume”, т.е. возобновляем передачу данных. После некоторого времени произойдет синхронизация узлов MSSQLServer, затем восстанавливаем автоматический Failover.

Все, наш MSSQLServerв режиме AlwaysOnобновлен до нового выпуска.

С чем мы столкнулись:

1)  У одной базы данных слетело свойство «Trustworthy». Это свойство было включено на            нескольких базах данных, но у одной оно слетело. Узнали только по ошибке, когда       выполнялся код, которому необходимо было данной свойство.
2)      Слетела affinityдля процессоров. На сервере было 80 ядер, mssqlserver-у было выделено 75 ядер, в итоге после обновления, он был привязан к половине -40 ядер. Выяснили только тогда, когда появилась нагрузка на CPU к 90 %.
3)      Перестала работать почтовая рассылка с одним параметром (@query_no_truncate = 1). В MSSQLServer2012 она работала, в MSSQLServer2014 она перестала работать. Это уже огрехи тестирования, и насколько я понял, есть такой баг в sql 2014(Открыли кейс в Майкрософте, но решения пока нет)

Отсюда выводы, перед обновлением сохраните все свойства сервера и баз данных, после обновления их проверьте.

Вот вроде все, что делали и с чем встретились.
Хорошего обновления.




Viewing all articles
Browse latest Browse all 43

Trending Articles