Одной из ключевых особенностей 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:
- На панели задач щелкните правой кнопкой мыши, указывая на Все программы, указывайте на SQL Server [версия], указывайте на Инструменты конфигурации, а затем щелкните SQL Server Configuration Manager.
- В списке служб щелкните правой кнопкой мыши Службы SQL Server, а затем щелкните Открыть.
- В снап-ине SQL Server Configuration Manager найдите экземпляр SQL Server, на котором вы хотите включить Filestream.
- Щелкните правой кнопкой мыши на экземпляре, а затем щелкните Свойства.
- В диалоговом окне Свойства SQL Server щелкните вкладку Filestream.
- Выберите флажок Включить Filestream для доступа к Transact-SQL.
- Если вы хотите читать и записывать данные Filestream из Windows, щелкните Включить Filestream для потокового доступа к файлам.
- Введите имя общего ресурса Windows в поле Имя общего ресурса Windows.
- Если удаленные клиенты должны иметь доступ к данным Filestream, хранящимся на этом общем ресурсе, выберите Разрешить удаленным клиентам потоковый доступ к данным Filestream.
- Щелкните Применить.
- В SQL Server Management Studio щелкните Новый запрос, чтобы отобразить редактор запросов.
- В редакторе запросов введите следующий код Transact-SQL: EXEC sp_configure filestream_access_level, 2
- Щелкните Выполнить.
- Перезапустите службу SQL Server.
Важно отметить, что служба SQL Server должна быть перезапущена после включения Filestream.
Следуя этим шагам, клиент смог успешно отказаться от группы доступности между подсетями и решить проблему, с которой он столкнулся.
Понимание концепций и настроек, связанных с отказоустойчивостью группы доступности SQL Server, является важным для поддержания надежной и надежной инфраструктуры баз данных. Решая проблемы незамедлительно и внедряя соответствующие решения, организации могут обеспечить бесперебойный доступ к своим критическим данным.