Поделиться через


Устранение неполадок служебной программы SQL Server

При устранении неполадок служебной программы SQL Server может понадобиться устранить причину ошибок при регистрации экземпляра SQL Server в пункте управления программой, устранить неполадки, связанные с ошибками при сборе данных и вызывающие отображение серых значков в представлении списка управляемых экземпляров в пункте управления программой, устранение «узких мест» производительности или разрешение проблем, связанных с исправностью ресурсов. Дополнительные сведения об устранении неполадок, связанных с исправностью ресурсов и обнаруженных пунктом управления программой SQL Server, см. в разделе Устранение неполадок исправности ресурсов SQL Server (служебная программа SQL Server).

Неудачная операция регистрации экземпляра SQL Server в служебной программе SQL Server

Если при подключении к экземпляру SQL Server для регистрации используется проверка подлинности SQL Server, а указанная при этом учетная запись-посредник принадлежит домену Active Directory, отличному от домена, в котором находится пункт управления программой, то проверка экземпляра завершится успешно, но во время операции регистрации произойдет ошибка и отобразится следующее сообщение об ошибке:

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

Additional information: Could not obtain information about Windows NT group/user '<DomainName\AccountName>', error code 0x5. (Microsoft SQL Server, Error: 15404)

Например, эта проблема может возникнуть в следующих сценариях.

  1. Пункт управления программой входит в «Домен_1».

  2. Между доменами существует одностороннее отношение доверия, т. е. «Домен_1» не является доверенным для «Домен_2», но «Домен_2» является доверенным для «Домен_1».

  3. Экземпляр SQL Server, который следует зарегистрировать в служебной программе SQL Server, также входит в «Домен_1».

  4. Во время операции регистрации подключитесь к экземпляру SQL Server для регистрации с помощью «sa». Укажите учетную запись-посредник из домена «Домен_2».

  5. Проверка пройдет успешно, но при регистрации возникнет ошибка.

Чтобы обойти проблему, показанную в примере выше, можно подключиться к экземпляру SQL Server для регистрации в служебной программе SQL Server с помощью «sa», но указать учетную запись-посредник из домена «Домен_1».

Сбой проверки WMI

Если в экземпляре SQL Server WMI настроена неправильно, то при операциях создания пункта управления программой и регистрации управляемого экземпляра будет отображаться предупреждение, но операция не будет прервана. Кроме того, при изменении настройки учетной записи агента SQL Server таким образом, что у агента SQL Server будут отсутствовать разрешения на доступ к требуемым классам WMI, передача собираемых данных из затронутого изменением управляемого экземпляра SQL Server в пункте управления программой прекратится. В результате в пункте управления программой будет отображаться серый значок.

Сбой при сборе данных вызывает отображение серых значков состояния в списке пункта управления программой для затронутых управляемых экземпляров SQL Server. Из журнала выполняемых заданий на управляемом экземпляре SQL Server будет видно, что в sysutility_mi_collect_and_upload происходит сбой на шаге 2 (сбор данных из скрипта PowerShell).

Возможны следующие сокращенные сообщения об ошибках.

Выполнение команды прервано, так как для переменной среды «ErrorActionPreference» установлено значение Stop: доступ запрещен.

ОШИБКА <Дата-время (ММ/ДД/ГГГГ ЧЧ:ММ:СС)>: возникло исключение при сборе данных о свойствах ЦП. Возможно, произошла ошибка запроса WMI. ВНИМАНИЕ.

Чтобы устранить эту проблему, проверьте следующие параметры конфигурации.

  • В Windows Server 2003 служебная учетная запись службы агента SQL Server должна быть членом группы наблюдения за производительностью Windows в управляемом экземпляре SQL Server.

  • Служба WMI в управляемом экземпляре SQL Server должна быть включена и настроена.

  • Возможно, репозиторий WMI на управляемом экземпляре SQL Server поврежден.

  • Возможно, библиотека производительности на управляемом экземпляре SQL Server повреждена или отсутствует.

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

  • Win32_MountPoint

  • Win32_PerfRawData_PerfProc_Process

  • Win32_PerfRawData_PerfOS_Processor

  • Win32_Processor

  • Win32_Volume

  • Win32_LogicalDisk

Проверить доступность каждого из классов можно, применив командлет PowerShell Get-WmiObject к этому классу. Выполните следующие командлеты в управляемом экземпляре SQL Server.

Get-WmiObject Win32_MountPoint -ErrorAction Stop | Out-Null
Get-WmiObject Win32_PerfRawData_PerfProc_Process -ErrorAction Stop| Out-Null
Get-WmiObject Win32_PerfRawData_PerfOS_Processor -ErrorAction Stop | Out-Null
Get-WmiObject Win32_Processor -ErrorAction Stop | Out-Null
Get-WmiObject Win32_Volume -ErrorAction Stop | Out-Null
Get-WmiObject Win32_LogicalDisk -ErrorAction Stop | Out-Null

Дополнительные сведения об устранении неполадок WMI см. на странице Удаление неполадок WMI. Обратите внимание, что запросы при этих операциях служебной программы SQL Server выполняются локально, поэтому сведения по удаленному устранению неполадок и устранению неполадок DCOM в таких случаях неприменимы.

Сбой сбора данных

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

  • Не изменяйте свойства набора элементов сбора «Сведения о программе», заданные на управляемом экземпляре SQL Server, а также не включайте и не выключайте сбор данных вручную, поскольку сбор данных управляется заданием агента Utility.

  • Сбой или отсутствие поддержки проверки WMI. Дополнительные сведения см. в подразделе «Сбой проверки WMI» этого раздела.

  • Обновите данные в списке управляемых экземпляров, поскольку данные с точках просмотра служебной программы SQL Server не обновляются автоматически. Чтобы обновить данные, щелкните правой кнопкой мыши узел Управляемые экземпляры на панели навигации Обозревателя программ и выберите команду Обновить либо щелкните правой кнопкой мыши имя экземпляра SQL Server в представлении списка и выберите Обновить. Обратите внимание, что после регистрации экземпляра SQL Server в UCP до появления первых данных на панели мониторинга и точках просмотра панели содержимого обозревателя программ может пройти до 30 минут.

  • С помощью диспетчера конфигурации SQL Server проверьте, что этот экземпляр SQL Server работает.

  • Если произошел сбой передачи или сбора данных в связи со временем ожидания, нужно обновить функцию dbo.fn_sysutility_mi_get_collect_script() в базе данных MSDB. В частности, в функцию «Invoke-BulkCopyCommand()» нужно добавить строку:

    $bulkCopy.BulkCopyTimeout=180
    

    По умолчанию время ожидания составляет 30 секунд.

  • Если экземпляр SQL Server не кластеризован, проверьте, что служба агента SQL Server работает и настроена на автоматический запуск на UCP и управляемом экземпляре SQL Server.

  • Удостоверьтесь, что для выполнения сбора данных на управляемом экземпляре SQL Server используется допустимая учетная запись. Например, срок действия пароля может истечь. Если срок действия пароля к учетной записи-посреднику истек, обновите пароль учетных данных в среде SSMS следующим образом.

    1. В обозревателе объектов среды SSMS разверните узел Безопасность, а затем узел Учетные данные.

    2. Щелкните правой кнопкой мыши UtilityAgentProxyCredential_<GUID> и выберите Свойства.

    3. В диалоговом окне «Свойства учетных данных» обновите учетные данные для UtilityAgentProxyCredential_<GUID>.

    4. Нажмите кнопку ОК, чтобы подтвердить изменение.

  • В пункте управления программой и управляемом экземпляре SQL Server должен быть включен протокол TCP/IP. Включите протокол TCP/IP с помощью диспетчера конфигурации SQL Server.

  • Служба браузера SQL Server должна быть запущена на UCP и настроена для автоматического запуска. Если в организации запрещено использование службы браузера SQL Server, то для обеспечения подключения управляемого экземпляра SQL Server к UCP выполните следующие действия.

    1. На панели задач Windows на управляемом экземпляре SQL Server нажмите кнопку Пуск и выберите Выполнить….

    2. Введите «cliconfg.exe» в открывшемся поле и нажмите кнопку ОК.

    3. При запросе разрешить запуск «Средства настройки клиента SQL» нажмите кнопку Продолжить.

    4. В диалоговом окне SQL Server Client Network Utility перейдите на вкладку Псевдоним и нажмите кнопку Добавить….

    5. В диалоговом окне Добавление конфигурации сетевой библиотеки:

    6. В списке сетевых библиотек укажите TCP/IP.

    7. В текстовом поле Псевдоним сервера укажите «ИмяКомпьютера\ИмяЭкземпляра UCP».

    8. В текстовом поле Имя сервера укажите «ИмяКомпьютера UCP».

    9. Снимите флажок Определять порт динамически.

    10. В текстовом поле Номер порта укажите номер порта, который прослушивает UCP.

    11. Нажмите кнопку ОК, чтобы сохранить внесенные изменения.

    12. Повторите эти действия для каждого управляемого экземпляра SQL Server, который подключается к UCP при выключенной службе браузера SQL Server.

  • Управляемые экземпляры SQL Server должны быть подключены к сети.

  • При наличии на управляемом экземпляре SQL Server баз данных с таким же именем, но другими параметрами учета регистра идентификация между базой данных и ее точками просмотра может быть неверной, в результате чего могут возникнуть ошибки при сборе данных. Например, база данных «МОЯБАЗАДАННЫХ» может показывать состояния исправности базы данных «МояБазаДанных». В этом сценарии ошибки не формируются. Ошибки при сборе данных также могут возникнуть при несоответствиях учета регистра и в других отображаемых в пункте управления программой объектах, таких как имена файлов баз данных и групп файлов.

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

    1. Откройте оснастку Управление компьютером, затем Локальные пользователи и группы, выберите Группы.

    2. Щелкните правой кнопкой мыши Пользователи системного монитора и выберите Добавить в группу.

    3. Нажмите кнопку Добавить.

    4. Введите учетную запись, под которой работает служба агента SQL Server, и нажмите кнопку ОК.

    5. Если экземпляр SQL Server уже был зарегистрирован в UCP до добавления пользователя в эту группу, перезапустите службу агента SQL Server.