Устранение неполадок в развертывании с горизонтальным увеличением масштаба

Применимо к: SQL Server Integration Runtime служб SSIS в Фабрика данных Azure

Работа развертывания SSIS с горизонтальным увеличением масштаба строится на взаимодействии между базой данных каталога SSIS (SSISDB), службой мастера горизонтального увеличения масштаба и службой рабочей роли горизонтального увеличения масштаба. В некоторых случаях это взаимодействие может быть нарушено из-за ошибок конфигурации, нехватки разрешений на доступ или по другим причинам. В этой статье приводятся рекомендации по устранению неполадок с конфигурацией горизонтального увеличения масштаба.

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

Сбой мастера горизонтального увеличения масштаба

Симптомы

  • Мастеру горизонтального увеличения масштаба не удается подключиться к SSISDB.

  • Свойства мастера не отображаются в диспетчере горизонтального увеличения масштаба.

  • Свойства мастера не заполнены в представлении [catalog].[master_properties].

Решение

  1. Убедитесь в том, что компонент горизонтального увеличения масштаба включен.

    В SQL Server Management Studio в обозревателе объектов щелкните правой кнопкой мыши узел SSISDB и установите флажок Горизонтальное увеличение масштаба разрешено.

    Включен ли режим горизонтального увеличения масштаба

    Если это свойство имеет значение False, включите горизонтальное увеличение масштаба, вызвав хранимую процедуру [catalog].[enable_scaleout].

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

Сбой рабочей роли горизонтального увеличения масштаба

Симптомы

  • Рабочей роли горизонтального увеличения масштаба не удается подключиться к мастеру горизонтального увеличения масштаба.

  • Рабочая роль горизонтального увеличения масштаба не отображается после ее добавления в диспетчере горизонтального увеличения масштаба.

  • Рабочая роль горизонтального увеличения масштаба не отображается в представлении [catalog].[worker_agents].

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

Решение

Проверьте сообщения об ошибках в журнале службы рабочей роли горизонтального увеличения масштаба по пути \<drive\>:\Users\\*[account running worker service]*\AppData\Local\SSIS\Cluster\Agent.

Нет конечной точки, ожидающей передачи данных

Симптомы

"System.ServiceModel.EndpointNotFoundException: Прослушивание на https:// [имя_компьютера]:[порт] /ClusterManagement/ не выполняла ни одна конечная точка, которая могла бы принять сообщение".

Решение

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

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

  3. Проверьте, открыт ли порт брандмауэра в узле мастера горизонтального увеличения масштаба.

  4. Устраните любые другие проблемы с подключением между узлом мастера горизонтального увеличения масштаба и узлом рабочей роли горизонтального увеличения масштаба.

Не удалось установить доверительные отношения

Симптомы

"System.ServiceModel.Security.SecurityNegotiationException. Не удалось установить отношения доверия для защищенного канала SSL/TLS с полномочиями "[имя_компьютера]:[порт]"".

"System.Net.WebException. Базовое соединение закрыто: Не удалось установить доверительные отношения для защищенного канала SSL/TLS".

"System.Security.Authentication.AuthenticationException. Удаленный сертификат недопустим согласно процедуре проверки".

Решение

  1. Установите сертификат мастера горизонтального увеличения масштаба в корневое хранилище сертификатов локального компьютера в узле рабочей роли горизонтального увеличения масштаба (если он не установлен) и перезапустите службу рабочей роли горизонтального увеличения масштаба.

  2. Убедитесь в том, что имя узла в конечной точке мастера включено в номера CN сертификата мастера горизонтального увеличения масштаба. В противном случае сбросьте конечную точку мастера в файле конфигурации рабочей роли горизонтального увеличения масштаба и перезапустите службу рабочей роли горизонтального увеличения масштаба.

    Примечание

    Если изменить имя узла конечной точки мастера не удается из-за настроек DNS, необходимо изменить сертификат мастера горизонтального увеличения масштаба. См. статью Работа с сертификатами в развертывании SQL Server Integration Services (SSIS) с горизонтальным увеличением масштаба.

  3. Убедитесь в том, что отпечаток мастера в конфигурации рабочей роли горизонтального увеличения масштаба совпадает с отпечатком в сертификате мастера горизонтального увеличения масштаба.

Не удалось установить безопасный канал

Симптомы

"System.ServiceModel.Security.SecurityNegotiationException. Не удалось установить безопасный канал для SSL/TLS с полномочиями "[имя_компьютера]:[порт]"".

"System.Net.WebException. Запрос был прерван: не удалось создать защищенный канал SSL/TLS".

Решение

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

winhttpcertcfg.exe -l -c LOCAL_MACHINE\MY -s {CN of the worker certificate}

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

winhttpcertcfg.exe -g -c LOCAL_MACHINE\My -s {CN of the worker certificate} -a {the account running Scale Out Worker service}

Запрос HTTP запрещен

Симптомы

"System.ServiceModel.Security.MessageSecurityException. Запрос HTTP запрещен для схемы проверки подлинности клиентов "Анонимно"".

"System.Net.WebException. Удаленный сервер вернул ошибку: (403) Запрещено".

Решение

  1. Установите сертификат мастера горизонтального увеличения масштаба в корневое хранилище сертификатов локального компьютера в узле рабочей роли горизонтального увеличения масштаба (если он не установлен) и перезапустите службу рабочей роли горизонтального увеличения масштаба.

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

  3. Настройте Schannel, запретив отправку списка доверенных корневых центров сертификации в процессе подтверждения TLS/SSL. Для этого добавьте приведенный ниже параметр реестра в узле мастера горизонтального увеличения масштаба.

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

    Имя параметра: SendTrustedIssuerList

    Тип параметра: REG_DWORD

    Значение параметра: 0 (False)

  4. Если не удается очистить все сертификаты, которые не являются самозаверяющими в шаге 2, присвойте значение 2 указанному ниже параметру реестра.

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

    Имя параметра: ClientAuthTrustMode

    Тип параметра: REG_DWORD

    Значение параметра: 2

    Примечание

    Если у вас нет самозаверяющих сертификатов в корневом хранилище сертификатов, аутентификация клиентского сертификата клиента завершится сбоем. См. дополнительные сведения о том, как службы Internet Information Services (IIS) 8 могут отклонять запросы клиентских сертификатов с ошибками HTTP 403.7 или 403.16.

Ошибка HTTP-запроса

Симптомы

"System.ServiceModel.CommunicationException. Произошла ошибка при создании HTTP-запроса к https://[имя_компьютера]:[порт]/ClusterManagement/. Это может быть связано с тем, что сертификат сервера неправильно настроен с использованием HTTP.SYS для варианта HTTPS. Кроме того, это может быть вызвано несоответствием привязки безопасности между клиентом и сервером."

Решение

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

    netsh http show sslcert ipport=0.0.0.0:{Master port}
    

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

    netsh http delete sslcert ipport=0.0.0.0:{Master port}
    netsh http add sslcert ipport=0.0.0.0:{Master port} certhash={Master certificate thumbprint} certstorename=Root  appid={random guid}
    

Невозможно открыть хранилище сертификатов

Симптомы

Проверка при подключении рабочей роли горизонтального увеличения масштаба к мастеру горизонтального увеличения масштаба в диспетчере Scale Out завершается сбоем с сообщением об ошибке "Невозможно открыть хранилище сертификатов на компьютере".

Решение

  1. Запустите диспетчер горизонтального увеличения масштаба от имени администратора. Если вы открываете его с помощью среды SQL Server Management Studio, необходимо запускать эту среду от имени администратора.

  2. Запустите службу удаленного реестра на компьютере (если она не запущена).

Не начинается выполнение

Симптомы

Не начинается выполнение в развертывании с горизонтальным увеличением масштаба.

Решение

Проверьте состояние компьютеров, которые выбраны для выполнения пакета в представлении [catalog].[worker_agents]. Должна быть активна и подключена как минимум одна рабочая роль.

Нет журнала

Симптомы

Пакеты успешно выполняются, однако в журнал не записываются сообщения.

Решение

Убедитесь в том, что в экземпляре SQL Server, где размещается SSISDB, разрешена проверка подлинности SQL Server.

Примечание

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

Сообщений об ошибках недостаточно

Симптомы

Сообщений об ошибках в отчете о выполнении пакета недостаточно для устранения неполадок.

Решение

Дополнительные журналы выполнения можно найти в папке TasksRootFolder, настроенной в файле WorkerSettings.config. По умолчанию это папка \<drive\>:\Users\\[account]\AppData\Local\SSIS\ScaleOut\Tasks. Здесь [учетная_запись] — это учетная запись, с которой выполняется служба рабочей роли горизонтального увеличения масштаба (по умолчанию SSISScaleOutWorker140).

Чтобы найти журнал выполнения пакета с идентификатором [ИД_выполнения] , выполните приведенную ниже команду Transact-SQL и получите [ИД_задачи] . Затем найдите вложенную папку с именем [ИД_задачи] в папке TasksRootFolder.

SELECT [TaskId]
FROM [SSISDB].[internal].[tasks] tasks, [SSISDB].[internal].[executions] executions 
WHERE executions.execution_id = *Your Execution Id* AND tasks.JobId = executions.job_id

Предупреждение

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

Дальнейшие действия

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