Published on

November 23, 2017

Понимание отказоустойчивости группы доступности SQL Server

Одной из ключевых особенностей SQL Server является группа доступности Always On, которая обеспечивает высокую доступность и резервное копирование баз данных. Однако иногда могут возникать проблемы в процессе отказа, которые требуется решить.

Недавно я столкнулся с клиентом, который столкнулся с трудностями при отказе от группы доступности с одной подсети на другую. Давайте назовем подсети Node1 и Node2, а Node3 соответственно. Отказ между Node1 и Node2 (одна подсеть) работал нормально, но отказ на Node3 (другая подсеть) не был успешным.

Сначала я подозревал неправильную настройку сети, но после дальнейшего исследования я обнаружил, что на Node3 генерируется файл дампа. Файл дампа указывал на ошибку, связанную с HadrFstrVnnUtils.cpp и сбой утверждения.

Сначала термин “HadrFstrVnnUtils” показался мне незнакомым. Однако, разбивая слова, я заключил, что “Hadr” относится к Always On, “Fstr” вероятно означает File Stream, но я был неуверен в отношении “Vnn”.

Для решения проблемы я посоветовал клиенту проверить настройки Filestream в SQL Server Configuration Manager. Оказалось, что Filestream был отключен на Node3, в то время как он был включен на Node1 и Node2.

Обходное решение/решение этой проблемы заключалось в включении Filestream на каждом реплике и установке уровня доступа к файловому потоку на 2. В качестве альтернативы клиент мог отключить Filestream на всех репликах и создать группу доступности заново.

Вот шаги для включения/изменения настройки Filestream:

  1. На панели задач щелкните правой кнопкой мыши, указывая на Все программы, указывайте на SQL Server [версия], указывайте на Инструменты конфигурации, а затем щелкните SQL Server Configuration Manager.
  2. В списке служб щелкните правой кнопкой мыши Службы SQL Server, а затем щелкните Открыть.
  3. В снап-ине SQL Server Configuration Manager найдите экземпляр SQL Server, на котором вы хотите включить Filestream.
  4. Щелкните правой кнопкой мыши на экземпляре, а затем щелкните Свойства.
  5. В диалоговом окне Свойства SQL Server щелкните вкладку Filestream.
  6. Выберите флажок Включить Filestream для доступа к Transact-SQL.
  7. Если вы хотите читать и записывать данные Filestream из Windows, щелкните Включить Filestream для потокового доступа к файлам.
  8. Введите имя общего ресурса Windows в поле Имя общего ресурса Windows.
  9. Если удаленные клиенты должны иметь доступ к данным Filestream, хранящимся на этом общем ресурсе, выберите Разрешить удаленным клиентам потоковый доступ к данным Filestream.
  10. Щелкните Применить.
  11. В SQL Server Management Studio щелкните Новый запрос, чтобы отобразить редактор запросов.
  12. В редакторе запросов введите следующий код Transact-SQL: EXEC sp_configure filestream_access_level, 2
  13. Щелкните Выполнить.
  14. Перезапустите службу SQL Server.

Важно отметить, что служба SQL Server должна быть перезапущена после включения Filestream.

Следуя этим шагам, клиент смог успешно отказаться от группы доступности между подсетями и решить проблему, с которой он столкнулся.

Понимание концепций и настроек, связанных с отказоустойчивостью группы доступности SQL Server, является важным для поддержания надежной и надежной инфраструктуры баз данных. Решая проблемы незамедлительно и внедряя соответствующие решения, организации могут обеспечить бесперебойный доступ к своим критическим данным.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.