Published on

December 5, 2016

Исправление ошибки онлайн-кластера SQL

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

Вот наблюдения, которые я сделал:

  • Создавался SQL ERRORLOG.
  • Если я запускал SQL из служб, он работал нормально.
  • Однако, когда я пытался включить ресурс SQL в кластере, он оставался в состоянии “Ожидание онлайн” и затем переходил в состояние “Ошибка”.

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

Анализируя журнал кластера, я обнаружил следующие сообщения об ошибке:

INFO [API] s_ApiGetQuorumResource final status 0.
INFO [RES] Network Name: Agent: Sending request Netname/RecheckConfig to NN:5447358a-a102-4fc9-95f4-c040e8716859:Netbios
ERR [RES] SQL Server : [sqsrvres] ODBC Error: [08001] [Microsoft][SQL Server Native Client 11.0]SQL Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF]. (268435455)
ERR [RES] SQL Server : [sqsrvres] ODBC Error: [HYT00] [Microsoft][SQL Server Native Client 11.0]Login timeout expired (0)
ERR [RES] SQL Server : [sqsrvres] ODBC Error: [08001] [Microsoft][SQL Server Native Client 11.0]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if the instance name is correct and if SQL Server is configured to allow remote connections. For more information, see SQL Server Books Online. (268435455)
INFO [RES] SQL Server : [sqsrvres] Could not connect to SQL Server (rc -1)
INFO [RES] SQL Server : [sqsrvres] SQLDisconnect returns the following information
ERR [RES] SQL Server : [sqsrvres] ODBC Error: [08003] [Microsoft][ODBC Driver Manager] Connection not open (0)
INFO [RES] Network Name: Agent: Sending request Netname/RecheckConfig to NN:52cf277d-234b-4a81-a9a7-0f078fca2a17:Netbios

Исходя из журналов кластера, стало ясно, что кластер не может подключиться к службе SQL. Чтобы решить эту проблему, я выполнил следующие шаги:

Возможные причины ошибки:

Прежде чем приступить к решению, важно понять общие причины этой ошибки:

  1. Неправильно создан псевдоним клиента в конфигурационном менеджере.
  2. SQL Browser не запущен, когда SQL слушает на нестандартном порту или с именованным экземпляром.
  3. Проблема с подключением через TCP-порт.

В моей лаборатории я обнаружил, что у меня был создан псевдоним TCP, и порт SQL Server изменился после перезагрузки, что вызвало проблему с SQL-кластером. Чтобы предотвратить повторение этой ситуации, я решил изменить 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.