Столкнулся с интересной ошибкой при установке MS SQL Server 2014 на новом сервере Windows Server 2012 R2. Установка SQL Server прерывается почти в самом конце с ошибкой «Не найден дескриптор запуска компонента Database Engine» (Could not find the Database Engine startup handle).
В логе установки Summary.txt при этом присутствует ошибка:
Feature: Database Engine Services
Status: Failed: see logs for details
Reason for failure: An error occurred during the setup process of the feature.
Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A0019
Error description: Could not find the Database Engine startup handle.
Данная ошибка установки MS SQL Server связана с тем, что используются стандартные настройки установки, при котором служба SQL Server запускается под непривилегированной учетной записью NT ServiceMSSQL$V2014. У данной учетной записи может быть недостаточно полномочий для запуска службы SQL Server, поэтому запустить службу невозможно, и установщик завершается с ошибкой «Could not find the Database Engine startup handle». Также эта ошибка может указывать на то, что ранее на компьютере уже пытались установить SQL Server и не очистили файлы и службы, оставшиеся от предыдущей установки.
Чтобы исправить ошибку установки SQL Server:
- Корректно деинсталлируйте все программы, связанные с SQL Server через Панель управления и перезагрузите сервер (проверьте, что не осталось файлов и папок в каталоге C:Program FilesMicrosoft SQL ServerMSSQL12.xxx);
- Запустите чистую установку из дистрибутива SQL Server. На вкладке «Server Configuration» убедитесь, что служба SQL Server Database Engine запускается под учетной записью NT ServiceMSSQLSERVER;
- Измените эту учетную запись на NT AUTHORITYSYSTEM;
- Продолжите установку SQL Server. Ошибка больше не должна появляться.
После окончания установки настоятельно рекомендуем изменить учетную запись, под которой запускается служба SQL Server Database Engine на непривилегированную учетную запись. Эта учетная запись не обязательно должна обладать правами локального администратора сервера (вполне достаточно полномочий внутри SQL Server). Можно использовать аккаунты с правами sysadmin — NT ServiceMSSQLSERVICE или NT ServiceSQLSERVERAGENT. Чтобы изменить учетную запись, под которой работает SQL Server:
- Запустите SQL Server Configuration Manager и перейдите в раздел SQL Server Services;
- Щелкните по SQL Server (MSSQLSERVER), нажмите кнопку Browse и в поле This account укажите учетную запись, под которой нужно запускать службу или используйте управляемую учетную запись — gMSA (Group Managed Service Accounts). Укажите пароль пользователя и сохраните изменения;
- Перезапустите службы SQL Server.
Этот способ поможет вам исправить ошибку «Не найден дескриптор запуска компонента Database Engine» при установке любых версий SQL Server (2016, 2014, 2012 или 2008).
- Remove From My Forums
-
Вопрос
-
Сообщение: не найден дескриптор запуска ядра СУБД.
-
Перемещено
25 июля 2017 г. 20:41
Более подходящий раздел форума
-
Перемещено
Ответы
-
Попробуйте воспользоваться рекомендациями статьи: SQL Server
Troubleshooting: Could Not Find Database Engine Startup Handle Error During installationВкратце
1. Полностью удалить SQL Server 2016
2. Создать точку восстановления (на всякий случай)
3. Запустить установку с правами администратора
4. В окне выбора службы для Database engine выбрать NT AUTHORITYSYSTEM
Если установка удалась, в конфигурации переключить службу на более безопасные учетки (NETWORK SERVICE или LOCAL SERVICE)
Если не помогло, дальше изучать логи (в том числе detail.txt). Откатываться к точке восстановления и пробовать что-то еще.
-
Помечено в качестве ответа
Иван ПродановMicrosoft contingent staff, Moderator
1 августа 2017 г. 5:19
-
Помечено в качестве ответа
Содержание
- Ошибка установки SQL Server: Could not find the Database Engine startup handle
- Степени серьезности ошибок компонента Database Engine
- Уровни серьезности
- Серьезность пользовательских сообщений об ошибках
- Серьезность ошибки и конструкция TRY…CATCH
- определение серьезности ошибки
- Основные сведения об ошибках компонента Database Engine
- При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром
- Сообщения об ошибках
- «При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром. Убедитесь, что имя экземпляра указано правильно и что на SQL Server разрешены удаленные соединения».
- «SQL Server не существует, либо в доступе к нему отказано»
- Сбор сведений для устранения ошибки
- Вариант 1. Использование средства проверки SQL для сбора необходимых сведений
- Вариант 2. Сбор данных по отдельности с помощью следующих процедур
- Получение имени экземпляра из диспетчера конфигурации
- Получение IP-адреса сервера
- Получение TCP-порта экземпляра
- Шаг 1. Проверка выполнения экземпляра
- Вариант 1. Использование выходного файла средства SQLCheck
- Вариант 2. Использование диспетчера конфигурации SQL Server
- Вариант 3. Использование команд PowerShell
- Шаг 2. Проверка запуска службы обозревателя SQL Server
- Вариант 1. Использование выходного файла средства SQLCheck
- Вариант 2. Использование диспетчера конфигурации SQL Server
- Шаг 3. Проверка имени сервера в строке подключения
- Шаг 4. Проверка псевдонимов на клиентских компьютерах
- Вариант 1. Использование выходного файла средства SQLCheck
- Вариант 2. Проверка наличия псевдонимов в диспетчере конфигурации SQL Server
- Вариант 3. Проверка наличия псевдонимов в служебной программе клиентской сети SQL Server
- Шаг 5. Проверка конфигурации брандмауэра
- Экземпляр по умолчанию SQL Server
- Именованный экземпляр SQL Server
- Шаг 6. Проверка включенных протоколов в SQL Server
- Вариант 1. Использование выходного файла средства SQLCheck
- Вариант 2. Использование диспетчера конфигурации SQL Server
- Шаг 7. Проверка подключения по протоколу TCP/IP
- Шаг 8. Проверка локального подключения
- Шаг 9. Тестирование удаленного подключения
Ошибка установки SQL Server: Could not find the Database Engine startup handle
Столкнулся с интересной ошибкой при установке MS SQL Server 2014 на новом сервере Windows Server 2012 R2. Установка SQL Server прерывается почти в самом конце с ошибкой «Не найден дескриптор запуска компонента Database Engine» (Could not find the Database Engine startup handle).
В логе установки Summary.txt при этом присутствует ошибка:
Feature: Database Engine Services
Данная ошибка установки MS SQL Server связана с тем, что используются стандартные настройки установки, при котором служба SQL Server запускается под непривилегированной учетной записью NT ServiceMSSQL$V2014. У данной учетной записи может быть недостаточно полномочий для запуска службы SQL Server, поэтому запустить службу невозможно, и установщик завершается с ошибкой «Could not find the Database Engine startup handle». Также эта ошибка может указывать на то, что ранее на компьютере уже пытались установить SQL Server и не очистили файлы и службы, оставшиеся от предыдущей установки.
Чтобы исправить ошибку установки SQL Server:
- Корректно деинсталлируйте все программы, связанные с SQL Server через Панель управления и перезагрузите сервер (проверьте, что не осталось файлов и папок в каталоге C:Program FilesMicrosoft SQL ServerMSSQL12.xxx);
- Запустите чистую установку из дистрибутива SQL Server. На вкладке «Server Configuration» убедитесь, что служба SQL Server Database Engine запускается под учетной записью NT ServiceMSSQLSERVER;
После окончания установки настоятельно рекомендуем изменить учетную запись, под которой запускается служба SQL Server Database Engine на непривилегированную учетную запись. Эта учетная запись не обязательно должна обладать правами локального администратора сервера (вполне достаточно полномочий внутри SQL Server). Можно использовать аккаунты с правами sysadmin — NT ServiceMSSQLSERVICE или NT ServiceSQLSERVERAGENT. Чтобы изменить учетную запись, под которой работает SQL Server:
- Запустите SQL Server Configuration Manager и перейдите в раздел SQL Server Services;
- Щелкните по SQL Server (MSSQLSERVER), нажмите кнопку Browse и в поле This account укажите учетную запись, под которой нужно запускать службу или используйте управляемую учетную запись — gMSA (Group Managed Service Accounts). Укажите пароль пользователя и сохраните изменения;
- Перезапустите службы SQL Server.
Этот способ поможет вам исправить ошибку «Не найден дескриптор запуска компонента Database Engine» при установке любых версий SQL Server (2016, 2014, 2012 или 2008).
Источник
Степени серьезности ошибок компонента Database Engine
Применимо к: SQL Server (все поддерживаемые версии)
При возникновении ошибки ядром СУБД SQL Server серьезность ошибки указывает тип проблемы, возникшей в SQL Server.
Уровни серьезности
В следующей таблице перечислены уровни серьезности ошибок, вызванных ядром СУБД SQL Server.
Степень серьезности | Описание |
---|---|
0-9 | Информационные сообщения, возвращающие сведения о состоянии или оповещающие о несерьезных ошибках. Ядро СУБД не вызывает системные ошибки с серьезностью от 0 до 9. |
10 | Информационные сообщения, возвращающие сведения о состоянии или оповещающие о несерьезных ошибках. По соображениям совместимости ядро СУБД преобразует уровень серьезности 10 в серьезность 0 перед возвратом сведений об ошибке вызывающем приложению. |
11-16 | Ошибки, которые могут исправляться пользователем. |
11 | Данный объект или сущность не существует. |
12 | Специальный уровень серьезности для запросов, не использующих блокировку из-за специальных указаний запросов. В некоторых случаях операции чтения, выполняемые этими инструкциями, могут давать в результате несогласованные данные, так как блокировки не приспособлены для обеспечения согласованности. |
13 | Указывает ошибки взаимоблокировки транзакций. |
14 | Указывает ошибки, связанные с безопасностью, например запрет на разрешение. |
15 | Указывает синтаксические ошибки в команде Transact-SQL. |
16 | Обозначает общие ошибки, которые могут исправляться пользователем. |
17-19 | Обозначаются программные ошибки, которые не могут исправляться пользователем. Сообщите администратору системы о данной проблеме. |
17 | Указывает, что инструкция привела SQL Server к нехватке ресурсов (например, памяти, блокировок или дискового пространства для базы данных) или превышению некоторого ограничения, установленного системным администратором. |
18 | Указывает на проблему в программном обеспечении ядра СУБД, но инструкция завершает выполнение и поддерживается подключение к экземпляру ядра СУБД. Необходимо сообщить системному администратору о каждом случае возникновения ошибки со степенью серьезности 18. |
19 | Указывает, что превышено ненастранимое ограничение ядра СУБД и завершен текущий пакетный процесс. Сообщения об ошибке со степенью серьезности 19 и выше останавливают выполнение текущего пакета. Ошибки со степенью серьезности 19 происходят редко и должны устраняться системным администратором или основной службой технической поддержки. При возникновении ошибок со степенью серьезности 19 обратитесь к системному администратору. Сообщения об ошибках со степенью серьезности от 19 до 25 записываются в журнал ошибок. |
20–24 | Укажите системные проблемы и являются неустранимыми ошибками, что означает, что задача ядра СУБД, выполняющая инструкцию или пакет, больше не выполняется. Задача записывает сведения о том, что произошло, и затем прекращает работу. В большинстве случаев подключение приложения к экземпляру ядра СУБД также может завершиться. В этом случае приложение, возможно, не сможет вновь выполнить подключение (в зависимости от проблемы).
Сообщения об ошибках этого диапазона могут влиять на все процессы, обращающиеся к данным в одной и той же базе данных, и могут указывать на то, что база данных или объект повреждены. Сообщения об ошибках со степенью серьезности от 19 до 24 записываются в журнал ошибок. |
20 | Обозначает, что при выполнении инструкции возникла проблема. Так как проблема повлияла только на текущую задачу, маловероятно, что повреждена база данных. |
21 | Обозначает, что возникла проблема, влияющая на все задачи в текущей базе данных, но маловероятно, что повреждена база данных. |
22 | Обозначает, что таблица или индекс, указанные в сообщении, повреждены из-за программной проблемы или проблемы оборудования.
Ошибки степени серьезности 22 происходят редко. При возникновении такой ошибки запустите инструкцию DBCC CHECKDB, чтобы определить, не повреждены ли другие объекты в базе данных. Проблема может быть ограничена только буферным кэшем и не затрагивать сам диск. В этом случае перезапуск экземпляра ядра СУБД исправляет проблему. Чтобы продолжить работу, необходимо повторно подключиться к экземпляру ядра СУБД; в противном случае используйте DBCC для устранения проблемы. В некоторых случаях может потребоваться восстановление базы данных. Если перезапуск экземпляра ядра СУБД не устранит проблему, проблема находится на диске. Иногда удаление объекта, указанного в сообщении об ошибке, может решить проблему. Например, если сообщение сообщает, что экземпляр ядра СУБД обнаружил строку длиной 0 в некластеризованном индексе, удалите индекс и перестройте его. |
23 | Обозначает, что из-за проблем в оборудовании или программном обеспечении целостность всей базы данных находится под вопросом.
Ошибки степени серьезности 23 происходят редко. При возникновении такой ошибки запустите инструкцию DBCC CHECKDB, чтобы определить экстент повреждения. Проблема может быть ограничена только кэшем, и не затрагивать сам диск. В этом случае перезапуск экземпляра ядра СУБД исправляет проблему. Чтобы продолжить работу, необходимо повторно подключиться к экземпляру ядра СУБД; в противном случае используйте DBCC для устранения проблемы. В некоторых случаях может потребоваться восстановление базы данных. |
24 | Обозначает неисправность носителя. Возможно, системный администратор должен восстановить базу данных. Кроме того, может потребоваться обращение к поставщику оборудования. |
Серьезность пользовательских сообщений об ошибках
Процедураsp_addmessage может использоваться для добавления пользовательских сообщений об ошибках с уровнем серьезности от 1 до 25 в представление каталога sys.messages . Эти пользовательские сообщения об ошибках могут использоваться инструкцией RAISERROR. Дополнительные сведения см. в разделе sp_addmessage (Transact-SQL).
Инструкция RAISERROR может применяться для формирования пользовательских сообщений об ошибках с уровнем серьезности от 1 до 25. Инструкция RAISERROR может либо ссылаться на определенное пользователем сообщение, находящееся в представлении каталога sys.messages , либо динамически создавать сообщение. Если при формировании ошибки используется пользовательское сообщение об ошибках, хранимое в представлении sys.messages, то уровень серьезности, указанный в инструкции RAISERROR, переопределяет уровень серьезности, указанный в представлении sys.messages. Дополнительные сведения см. в разделе справки RAISERROR (Transact-SQL).
Серьезность ошибки и конструкция TRY…CATCH
Конструкция TRY…CATCH перехватывает все ошибки исполнения с уровнем серьезности выше 10, которые не прерывают подключение к базе данных.
Ошибки с уровнем серьезности от 0 до 10 являются информационными сообщениями и не приводят к выходу процесса выполнения из блока CATCH конструкции TRY…CATCH.
Ошибки, приводящие к прерыванию подключения к базе данных и обычно имеющие уровень серьезности от 20 до 25, не обрабатываются блоком CATCH, так как при разрыве соединения выполнение прерывается.
Дополнительные сведения см. в разделе TRY. CATCH (Transact-SQL).
определение серьезности ошибки
Чтобы определить серьезность ошибки, инициирующей выполнение блока CATCH конструкции TRY…CATCH, можно использовать системную функцию ERROR_SEVERITY. Если вызов происходит не из блока CATCH, функция ERROR_SEVERITY возвращает значение NULL. Дополнительные сведения см. в разделе ERROR_SEVERITY (Transact-SQL).
Источник
Основные сведения об ошибках компонента Database Engine
Применимо к: SQL Server (все поддерживаемые версии) Azure SQL database Управляемый экземпляр SQL Azure Azure Synapse Analytics Analytics Platform System (PDW)
Ошибки, возникшие в компоненте Microsoft Компонент SQL Server Database Engine, имеют атрибуты, описанные в следующей таблице.
attribute | Описание |
---|---|
Номер ошибки | Каждое сообщение имеет уникальный номер ошибки. |
Строка сообщения об ошибке | Сообщение об ошибке содержит диагностические сведения о причине ошибки. Многие сообщения об ошибках имеют подстановочные переменные, в которые заносятся сведения, например имя объекта, вызвавшего ошибку. |
Severity | Степень серьезности ошибки указывает, насколько она значительна. Ошибки с низкой степенью серьезности, например 1 или 2, являются информационными сообщениями или предупреждениями низкого уровня. Ошибки с высокой степенью серьезности указывают на проблемы, которые должны быть решены как можно быстрее. Дополнительные сведения о степенях серьезности см. в разделе Степени серьезности ошибок компонента Database Engine. |
Состояние | Некоторые сообщения об ошибках могут возникнуть в нескольких точках кода компонента Компонент Database Engine. Например, ошибка 1105 может возникнуть при различных условиях. Каждое условие, которое вызывает ошибку, присваивает уникальный код состояния.
При просмотре баз данных со сведениями об известных неполадках, таких как база знаний Microsoft , можно использовать номер состояния, чтобы определить, является ли записанная неполадка возникшей ошибкой. Например, если статья базы знаний описывает ошибку 1105 с состоянием 2, а получена ошибка 1105 с состоянием 3, ошибка, вероятно, возникла не по той причине, которая описана в статье. Инженер поддержки Microsoft также может использовать код состояния, содержащийся в сообщении об ошибке, чтобы найти место в исходном коде, где эта ошибка возникла. Эти данные могут предоставить дополнительные сведения для диагностики проблемы. |
Имя процедуры | Имя хранимой процедуры или триггера, в которых произошла ошибка. |
Номер строки | Указывает на инструкцию в пакете, хранимой процедуре, триггере или функции, которая сформировала ошибку. |
Все системные и пользовательские сообщения об ошибках в экземпляре компонента Компонент Database Engine содержатся в представлении каталога sys.messages . Инструкцию RAISERROR можно использовать для возвращения пользовательских ошибок приложению.
Все API-интерфейсы базы данных, например пространство имен Microsoft .NET Framework SQLClient, ActiveX Data Objects (ADO), OLE DB и Open Database Connectivity (ODBC), сообщают основные атрибуты ошибки. Эти сведения включают номер ошибки и строку сообщения. Однако не все API-интерфейсы сообщают остальные атрибуты ошибки.
Сведения об ошибке, возникающей в области блока TRY try try. Конструкцию CATCH можно получить в коде Transact-SQL с помощью таких функций, как ERROR_LINE, ERROR_MESSAGE, ERROR_NUMBER, ERROR_PROCEDURE, ERROR_SEVERITY и ERROR_STATE в области связанного блока CATCH. Дополнительные сведения см. в разделе TRY. CATCH (Transact-SQL).
Источник
При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром
Применяется к: SQL Server
При подключении к экземпляру SQL Server может возникнуть одно или несколько сообщений об ошибках, приведенных ниже. В этой статье приводятся некоторые шаги по устранению этих ошибок, которые предоставляются в порядке от простых до сложных.
Сообщения об ошибках
Полные сообщения об ошибках зависят от клиентской библиотеки, используемой в приложении и серверной среде. Вы можете просмотреть приведенные ниже сведения, чтобы узнать, возникает ли одно из следующих сообщений об ошибке:
«При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром. Убедитесь, что имя экземпляра указано правильно и что на SQL Server разрешены удаленные соединения».
Provider: Поставщик именованных каналов, ошибка: 40 — не удалось открыть подключение к SQL Server (Microsoft SQL Server, ошибка: 53) При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляра указано правильно и что на SQL Server разрешены удаленные соединения.
поставщик: поставщик именованных каналов, ошибка: 40 — не удалось открыть подключение к SQL Server (Microsoft SQL Server, ошибка: 53)
поставщик: поставщик TCP, ошибка: 0 — данный узел неизвестен. (Microsoft SQL Server, ошибка: 11001)
поставщик: сетевые интерфейсы SQL, ошибка: 26 — ошибка при обнаружении указанного сервера или экземпляра При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляра указано правильно и что на SQL Server разрешены удаленные соединения.
поставщик: сетевые интерфейсы SQL, ошибка: 26 — ошибка при обнаружении указанного сервера или экземпляра
Истекло время ожидания входа Ошибка канала передачи данных в клиенте Native Client SQL Server
[Microsoft SQL Server Native Client 10.0]: истекло время ожидания входа
[Microsoft SQL Server Native Client 10.0]: при установке подключения к SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не найден или недоступен. Проверьте правильность имени экземпляра и убедитесь, что SQL Server разрешает удаленные подключения. Дополнительные сведения см. в электронной документации по SQL Server.
[Microsoft SQL Server Native Client 10.0]: SQL Server сетевые интерфейсы: ошибка при обнаружении указанного сервера или экземпляра [xFFFFFFFF].
Сбой попытки подключения из-за того, что подключенная сторона не ответила должным образом по истечении определенного периода времени, или сбой установленного подключения из-за того, что подключенный узел не смог ответить При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляра указано правильно и что на SQL Server разрешены удаленные соединения.
поставщик: поставщик TCP, ошибка: 0
Произошел сбой при попытке подключения, поскольку истекло время ожидания ответа от подключаемой стороны, либо произошел сбой уже установленного подключения, поскольку подключенный узел не ответил.
Microsoft SQL Server, ошибка: 10060
Provider: поставщик именованных каналов, ошибка: 40 — не удалось открыть подключение к SQL Server При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляра указано правильно и что на SQL Server разрешены удаленные соединения.
поставщик: поставщик именованных каналов, ошибка: 40 — не удалось открыть подключение к SQL Server
Microsoft SQL Server, ошибка: 53
Не найден сетевой путь
[Майкрософт] [SQL Server Native Client 11.0]Поставщик TCP: не удалось подключиться, так как целевой компьютер активно отказался от него Ошибка канала передачи данных в клиенте Native Client SQL Server
[Microsoft][Клиент Native Client SQL Server 11.0]Поставщик TCP: подключение не установлено, т.к. конечный компьютер отверг запрос на подключение.
[Microsoft][Клиент Native Client SQL Server 11.0]Истекло время ожидания входа.
[Microsoft][Клиент Native Client SQL Server 11.0]При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром. Сервер не найден или недоступен. Проверьте правильность имени экземпляра и убедитесь, что SQL Server разрешает удаленные подключения. Дополнительные сведения см. в электронной документации по SQL Server.
«SQL Server не существует, либо в доступе к нему отказано»
Эта ошибка обычно означает, что клиенту не удается найти экземпляр SQL Server. Эта проблема возникает по одной из следующих причин:
- Неверное имя компьютера, на котором размещен SQL-сервер.
- Экземпляр не разрешает правильный IP-адрес.
- Номер TCP-порта указан неправильно.
Сведения об устранении неполадок с подключением в сценариях высокой доступности см. в следующих статьях:
Сбор сведений для устранения ошибки
Рекомендуется собрать сведения, перечисленные в этом разделе, с помощью одного из приведенных ниже вариантов, прежде чем продолжить выполнение фактических действий по устранению ошибки.
Вариант 1. Использование средства проверки SQL для сбора необходимых сведений
Если вы можете войти локально на компьютер SQL Server с правами администратора, используйте средство SQLCheck из репозитория GitHub «Microsoft SQL Networking». Это средство предоставляет большую часть сведений, необходимых для устранения неполадок в одном файле. Дополнительную информацию об использовании средства и собираемых сведениях см. на домашней странице средства. Вы также можете проверить рекомендуемые предварительные требования и страницу контрольного списка.
Вариант 2. Сбор данных по отдельности с помощью следующих процедур
Получение имени экземпляра из диспетчера конфигурации
На сервере, на котором размещается экземпляр SQL Server, используйте диспетчер конфигурации SQL Server для проверки имени экземпляра:
Диспетчер конфигурации устанавливается на компьютере автоматически при установке SQL Server. Инструкции по запуску диспетчера конфигурации немного различаются в зависимости от версий SQL Server и Windows. Дополнительные сведения для конкретной версии см. в разделе Диспетчер конфигурации SQL Server.
Войдите на компьютер, на котором размещается экземпляр SQL Server.
Запустите диспетчер конфигурации SQL Server.
В области слева выберите Службы SQL Server.
В области справа проверьте имя экземпляра ядра СУБД.
- SQL SERVER (MSSQLSERVER) указывает экземпляр по умолчанию SQL Server. Имя экземпляра по умолчанию — компьютера.
- SQL SERVER ( экземпляра) указывает именованный экземпляр SQL Server. Имя именованного экземпляра — компьютера экземпляра.
Получение IP-адреса сервера
Чтобы получить IP-адрес компьютера, на котором размещается экземпляр SQL Server, выполните следующие действия.
В меню Пуск выберите команду Выполнить. В окне Выполнить введите cmd и нажмите кнопку ОК.
В окне командной строки введите ipconfig/all и нажмите клавишу ВВОД. Запишите IPv4-адрес и IPv6-адрес.
SQL Server можно подключиться с помощью протокола IP версии 4 или 6. Ваша сеть может использовать обе версии.
Получение TCP-порта экземпляра
В большинстве случаев подключение к ядру СУБД на другом компьютере осуществляется с помощью протокола TCP. Чтобы получить TCP-порт экземпляра, выполните следующие действия:
Используйте SQL Server Management Studio на компьютере, на котором выполняется SQL Server, и подключитесь к экземпляру SQL Server. В обозревателе объектов последовательно разверните разделы Управление, Журналы SQL Server, а затем дважды щелкните текущий журнал.
В средстве просмотра журнала выберите Фильтр на панели инструментов. В поле Сообщение содержит текст введите сервер прослушивает, выберите Применить фильтр и нажмите кнопку ОК.
Должно быть указано сообщение, например Сервер прослушивает [любой ipv4 <> 1433].
Это сообщение указывает, что экземпляр SQL Server прослушивает все IP-адреса на этом компьютере (для протокола IP версии 4) и TCP-порт 1433. (TCP-порт 1433 обычно является портом, используемым ядром СУБД или экземпляром по умолчанию SQL Server. Только один экземпляр SQL Server может использовать этот порт. Если установлено несколько экземпляров SQL Server, некоторые экземпляры должны использовать другие номера портов.) Запишите номер порта, используемый экземпляром SQL Server, к которому вы пытаетесь подключиться.
- Вероятно, указан IP-адрес 127.0.0.1. Он называется адресом адаптера замыкания на себя. Только процессы на одном и том же компьютере могут использовать IP-адрес для подключения.
- Журнал ошибок SQL Server также можно просмотреть с помощью текстового редактора. По умолчанию журнал ошибок размещается в файлах Program FilesMicrosoft SQL ServerMSSQL.nMSSQLLOGERRORLOG и ERRORLOG.n. Для получения дополнительной информации см. раздел Просмотр журнала ошибок SQL Server.
Шаг 1. Проверка выполнения экземпляра
Вариант 1. Использование выходного файла средства SQLCheck
В выходных данных файла SQLCheck найдите текст «Сведения об SQL Server».
В разделе «Интересующие службы» найдите экземпляр SQL Server в столбцах Имя и Экземпляр (для именованных экземпляров) и проверьте его состояние с помощью столбца Запущено. Если значение равно True, службы запущены. В противном случае служба в настоящее время не запущена.
Если служба не запущена, запустите службу с помощью SQL Server Management Studio, диспетчера конфигурации SQL Server, PowerShell или приложения «Службы».
Вариант 2. Использование диспетчера конфигурации SQL Server
Чтобы убедиться, что экземпляр выполняется, выберите пункт Службы SQL Server в диспетчере конфигурации SQL Server и проверьте символ для экземпляра SQL Server.
- Зеленая стрелка указывает, что экземпляр выполняется.
- Красный квадрат указывает, что экземпляр остановлен.
Если экземпляр остановлен, щелкните его правой кнопкой мыши и выберите Запустить. Затем запускается экземпляр сервера, и индикатор становится зеленой стрелкой.
Вариант 3. Использование команд PowerShell
Чтобы проверить состояние служб SQL Server в системе, можно использовать следующую команду в PowerShell:
Вы можете использовать следующую команду для поиска в файле журнала ошибок определенной строки «SQL Server готов для клиентских подключений». Это сообщение является информационным; никаких действий пользователя не требуется».
Шаг 2. Проверка запуска службы обозревателя SQL Server
Этот шаг требуется только для устранения неполадок с подключением к именованным экземплярам.
Вариант 1. Использование выходного файла средства SQLCheck
В выходных данных файла SQLCheck найдите текст «Сведения об SQL Server».
В разделе «Интересующие службы» найдите службу SQLBrowser в столбце Имя и проверьте ее состояние с помощью столбца Запущено. Если значение равно «True», служба запущена. В противном случае служба в настоящее время не запущена, и ее необходимо запустить. Дополнительные сведения см. в разделе Запуск, остановка, приостановка, возобновление, перезапуск служб SQL Server.
Вариант 2. Использование диспетчера конфигурации SQL Server
Чтобы подключиться к именованному экземпляру, служба обозревателя SQL Server должна быть запущена. В диспетчере конфигурации SQL Server найдите службу обозревателя SQL Server и убедитесь, что она запущена. Если служба не запущена, запустите ее. Служба обозревателя SQL Server не требуется для экземпляров по умолчанию.
Дополнительные сведения об использовании службы обозревателя SQL Server в вашей среде см. в разделе Служба обозревателя SQL Server.
Дополнительные сведения об остановке и запуске служб SQL см. в разделе Запуск, остановка, приостановка, возобновление, перезапуск служб SQL Server.
Если в вашей среде служба обозревателя SQL Server не запущена, ознакомьтесь с разделом Подключение к именованному экземпляру сервера SQL без использования службы обозревателя SQL Server для получения дополнительной информации.
Шаг 3. Проверка имени сервера в строке подключения
При указании неправильного имени сервера в строке подключения часто возникают ошибки. Убедитесь, что имя сервера совпадает с именем сервера, извлеченным на предыдущих шагах.
Если вы используете средство SQLCheck, просмотрите значения NetBIOS-имя/полное доменное имя в разделе Сведения о компьютере выходного файла.
- Примеры строк подключения см. в разделе Строки подключения SQL Server.
- Подробные примеры см. в разделе Проверка концепции подключения к SQL с помощью ADO.NET в подразделе Главная страница для программирования клиента SQL.
Шаг 4. Проверка псевдонимов на клиентских компьютерах
Псевдонимы часто используются в клиентских средах при подключении к SQL Server с помощью альтернативного имени или при наличии проблем с разрешением имен в сети. Они создаются с помощью диспетчера конфигурации SQL Server или служебной программы клиентской сети. Неправильный псевдоним может привести к подключению приложений к неправильному серверу, что вызовет сбой. Используйте следующие способы, чтобы проверить наличие неправильных псевдонимов. Вы также можете использовать средство (например SQLCHECK) на клиентском компьютере для проверки псевдонимов и других параметров, связанных с подключением, на клиентском компьютере.
Следующие параметры применяются только к приложениям, которые используют клиент Native Client SQL Server для подключения к SQL Server.
Вариант 1. Использование выходного файла средства SQLCheck
В выходном файле SQLCheck найдите псевдонимы строк SQL. (Эта строка будет отображаться в разделе файла Безопасность клиента и сведения о драйвере)
Просмотрите записи в таблице. Если их нет, на компьютере отсутствуют псевдонимы. Если имеется запись, просмотрите сведения, чтобы убедиться, что для имени сервера и номера порта заданы правильные значения.
Пример выходных данных:
Псевдонимы SQL:
Выше показано, что prodsql является псевдонимом для SQL Server, вызываемого prod_sqlserver , который выполняется на порту 1430.
Вариант 2. Проверка наличия псевдонимов в диспетчере конфигурации SQL Server
- В диспетчере конфигурации SQL Server разверните узел Конфигурация собственного клиента SQL Server и выберите Псевдонимы.
- Проверьте, определены ли псевдонимы для сервера, к которому вы пытаетесь подключиться. Если псевдонимы существуют, выполните следующие действия:
- Откройте панель Свойства псевдонима.
- Переименуйте значение в поле Имя псевдонима (например, если имя сервера — MySQL, переименуйте его в MySQL_test) и повторите попытку подключения. Если подключение работает, псевдоним является неправильным и может быть указан в старой конфигурации, которая больше не нужна. Если подключение не работает, переименуйте псевдоним, вернув ему первоначальное имя, и перейдите к следующему шагу.
- Проверьте параметры подключения для псевдонима и убедитесь, что они верны. Следующие распространенные сценарии могут вызвать проблемы с подключением:
Неправильный IP-адрес для поля Сервер. Убедитесь, что IP-адрес соответствует записи в файле журнала ошибок SQL Server.
Неправильное имя сервера в поле Сервер. Например, псевдоним сервера указывает на правильное имя сервера. Однако подключения будут утеряны, если значение параметра имени сервера неверно.
Неправильный формат имени канала (при условии, что используются псевдонимы именованных каналов).
- При подключении к экземпляру по умолчанию с именем Mydefaultinstance имя канала должно быть Mydefaultinstancepipesqlquery.
- При подключении к именованным экземпляру MySQLNamed имя канала должно быть MySQLpipeMSSQL$Namedsqlquery.
Вариант 3. Проверка наличия псевдонимов в служебной программе клиентской сети SQL Server
- Откройте служебную программу клиентской сети SQL Server, введя cliconfg.exe в окне команды «Выполнить».
- Выполните шаг 2 в разделе Вариант 2. Проверка наличия псевдонимов в диспетчере конфигурации SQL Server.
Шаг 5. Проверка конфигурации брандмауэра
Конфигурацию брандмауэра можно проверить в зависимости от экземпляра по умолчанию или именованного экземпляра.
Если вы используете брандмауэры сторонних производителей в сети, приведенные шаги по-прежнему применимы. Однако вам может потребоваться обратиться к администратору сети или изучить документацию по брандмауэру, чтобы получить дополнительные сведения о настройке брандмауэра для разрешения связи необходимых портов с SQL Server.
Экземпляр по умолчанию SQL Server
Экземпляр по умолчанию обычно выполняется через порт 1433. Некоторые установки также используют нестандартный порт (кроме 1433) для запуска экземпляров SQL. Брандмауэр может заблокировать любой порт. Для дальнейшей проверки номера порта выполните следующие действия:
- Определите порт, на котором выполняется экземпляр SQL, ознакомившись с информацией в разделе Получение TCP-порта экземпляра.
- Если это работает, брандмауэр разрешает обмен данными через этот порт. Чтобы использовать номер порта и имя сервера в строке подключения приложения, необходимо изменить строку подключения.
Если SQL Server настроен на прослушивание порта 1433, убедитесь, что брандмауэры в сети между клиентом и сервером разрешают трафик через этот порт. Ознакомьтесь с разделом Настройка брандмауэра Windows для доступа к ядру СУБД и обратитесь к администратору сети для реализации необходимых решений.
Если экземпляр по умолчанию SQL Server не использует порт 1433, попробуйте добавить номер порта SQL Server к имени сервера, используя формат ,
, и проверьте, работает ли это. Например, имя экземпляра SQL, который выполняется на порту 2000, — MySQLDefaultinstance. Укажите имя сервера MySQLServer, 2000 и проверьте, работает ли это.
Если это не работает, брандмауэр блокирует порт. Вы можете выполнить инструкции в разделе Настройка брандмауэра Windows для доступа к ядру СУБД или обратитесь к администратору сети, чтобы добавить порт в список исключений брандмауэра.
Именованный экземпляр SQL Server
Если экземпляр SQL является именованным, его можно настроить для использования динамических или статических портов. В любом случае базовые сетевые библиотеки запрашивают службу обозревателя SQL Server, запущенную на компьютере SQL Server через UDP-порт 1434, чтобы перечислить номер порта для именованного экземпляра. Если брандмауэр между клиентом и сервером блокирует этот UDP-порт, клиентская библиотека не может определить порт (требование для подключения) и подключение завершается сбоем. Для проверки подключения воспользуйтесь одним из описанных ниже способов:
Способ 1. Проверьте подключение, указав номер порта в строке подключения.
Определите порт, на котором выполняется экземпляр SQL, ознакомившись с информацией в разделе Получение TCP-порта экземпляра.
Попробуйте подключиться к именованному экземпляру, используя номер порта, добавленный к имени сервера в формате ,
, и проверьте, работает ли это. Например, если имя экземпляра SQL — MySQLNamedinstance и он выполняется на порте 3000, укажите имя сервера MySQLNamedinstance,3000.
Если это работает, то брандмауэр блокирует UDP-порт 1434 или экземпляр скрыт от обозревателя SQL Server.
Если это не работает, возникла одна из следующих причин:
Заблокирован UDP-порт 1434 или статический порт, либо оба порта. Чтобы убедиться, что заблокирован UDP-порт или статический порт, используйте Portqry.
Экземпляр скрыт от службы обозревателя SQL Server.
Способ 2. Проверьте подключение с помощью средства PortQryUI.
Используйте средство PortQryUI с именованным экземпляром и просмотрите полученные выходные данные. Может отобразиться сообщение о том, что UDP-порт 1434 фильтруется. Это сообщение указывает, что порт заблокирован в сети. Инструкции по использованию средства см. в разделе Использование средства PortQryUI с SQL Server.
Проверьте, прослушивается ли экземпляр SQL Server на динамических или статических портах. Затем используйте следующий способ, соответствующий вашему сценарию. В случае возникновения сомнений ознакомьтесь с разделом Проверка того, прослушивает ли SQL Server динамический или статический порт.
Сценарий 1. Динамические порты. В этом случае убедитесь, что служба обозревателя SQL Server запущена и UDP-порт 1434 не блокируется в брандмауэре между клиентом и сервером. Если вы не можете выполнить ни одно из этих действий, следует переключить экземпляр SQL Server на статический порт и использовать процедуру, описанную в разделе Настройка сервера для прослушивания определенного TCP-порта.
Сценарий 2. Настройка статического порта. Обозреватель SQL Server не запущен или UDP-порт 1434 не может быть открыт в брандмауэре. В этом случае обязательно укажите статический порт в строке подключения и убедитесь, что брандмауэр не блокирует порт. Дополнительные сведения см. в разделе Настройка брандмауэра Windows для доступа к ядру СУБД.
Шаг 6. Проверка включенных протоколов в SQL Server
В некоторых установках SQL Server подключения к ядру СУБД с другого компьютера не включены, если администратор не включит их вручную. Вы можете использовать один из следующих вариантов, чтобы проверить и включить необходимые протоколы с целью разрешения удаленных подключений к SQL Server Database Engine.
Вариант 1. Использование выходного файла средства SQLCheck
В выходном файле SQLCheck найдите раздел «Сведения об экземпляре SQL Server» и найдите раздел сведений об экземпляре SQL Server.
В разделе найдите значения, перечисленные в следующей таблице, чтобы определить, включены ли протоколы SQL Server:
Value name | Последствие | Дополнительные сведения |
---|---|---|
Включена общая память | Может иметь значение «true» или «false» и влияет только на локальные подключения. | Создание допустимой строки подключения с помощью протокола общей памяти |
Именованные каналы включены | Если значение равно «false», локальные и удаленные подключения, использующие именованные каналы, будут утеряны. | Выбор сетевого протокола |
TCP включен | Если значение равно «false», локальные и удаленные подключения, использующие TCP/IP, будут утеряны. Примечание. Большинство установок SQL Server используют TCP/IP в качестве протокола связи между сервером и клиентом. |
Выбор сетевого протокола |
Включите необходимые протоколы с помощью диспетчера конфигурации SQL Server или SQL Server PowerShell. Дополнительные сведения см. в разделе Включение или отключение сетевого протокола сервера.
После включения протокола ядро СУБД должно быть остановлено и перезапущено, чтобы изменения вступили в силу.
Вариант 2. Использование диспетчера конфигурации SQL Server
Чтобы включить подключения с другого компьютера с помощью диспетчера конфигурации SQL Server, выполните следующие действия:
Откройте диспетчер конфигурации SQL Server.
В области слева разверните узел Сетевая конфигурация SQL Server, а затем выберите экземпляр SQL Server, к которому нужно подключиться. В области справа перечислены доступные протоколы подключения. Общая память обычно включена. Может использоваться только с того же компьютера, поэтому в большинстве установок общая память остается включенной. Чтобы подключиться к SQL Server с другого компьютера, используйте TCP/IP. Если TCP/IP не включен, щелкните правой кнопкой мыши TCP/IP и выберите Включить.
Если вы изменяете включенный параметр для любого протокола, перезапустите ядро СУБД. В области слева выберите Службы SQL Server. В области справа щелкните правой кнопкой экземпляр ядра СУБД, а затем щелкните Перезапустить.
Шаг 7. Проверка подключения по протоколу TCP/IP
Для подключения к SQL Server с помощью TCP/IP требуется, чтобы система Windows установила подключение. Чтобы проверить TCP-подключение с помощью средства проверки связи, выполните следующие действия.
В меню Пуск выберите команду Выполнить. В окне Выполнить введите cmd и нажмите кнопку ОК.
В окне командной строки введите ping и IP-адрес компьютера, на котором работает SQL Server. Например:
- IPv4: ping 192.168.1.101
- IPv6: ping fe80::d51d:5ab5:6f09:8f48%11
Если сеть настроена правильно, ping возвращает Reply from с некоторой дополнительной информацией. Если ping возвращает Destination host unreachable или Request timed out , TCP/IP настроен неправильно. Ошибки на этом этапе указывают на проблему с клиентским компьютером, серверным компьютером или другим устройством в сети, таким как маршрутизатор. Сведения об устранении проблем с сетью см. в разделе Расширенное устранение неполадок с TCP/IP.
Если тест ping с помощью IP-адреса завершается успешно, проверьте, можно ли разрешить имя компьютера в TCP/IP-адрес. На клиентском компьютере в окне командной строки введите введите ping и имя компьютера, на котором выполняется SQL Server. Например, ping newofficepc .
Если проверка связи по IP-адресу завершается успешно, но проверка связи с именем компьютера возвращает Destination host unreachable или Request timed out , на клиентском компьютере кэшируются старые (устаревшие) сведения о разрешении имен. Введите ipconfig /flushdns , чтобы очистить кэш DNS. Затем снова проверьте связь с компьютером по имени. Если кэш DNS пуст, клиентский компьютер проверяет последние сведения об IP-адресе серверного компьютера.
Если сеть настроена правильно, ping возвращает Reply from с некоторой дополнительной информацией. Если вы можете успешно проверить связь с серверным компьютером по IP-адресу, но получаете ошибку, например Destination host unreachable или Request timed out , при проверке связи по имени компьютера, разрешение имен настроено неправильно. Дополнительные сведения см. в разделе Устранение основных неполадок с TCP/IP. Для подключения к SQL Server не требуется успешное разрешение имен. Однако если имя компьютера не может быть разрешено в IP-адрес, необходимо установить подключения, чтобы указать IP-адрес. Проблему с разрешением имен можно устранить позже.
Можно также использовать командлет Test-NetConnection или Test-Connection для проверки TCP-подключения в соответствии с версией PowerShell, установленной на компьютере. Дополнительные сведения о командлете PowerShell см. в разделе Обзор командлета.
Шаг 8. Проверка локального подключения
Прежде чем устранять неполадки подключения с другого компьютера, проверьте возможность подключения из клиентского приложения, установленного локально на компьютере, на котором работает SQL Server. Локальное подключение позволяет избежать проблем с сетями и брандмауэрами.
Для выполнения этой процедуры требуется SQL Server Management Studio. Если у вас не установлено средство Management Studio, ознакомьтесь с разделом Загрузка SQL Server Management Studio (SSMS).
Если не удается установить Management Studio, можно проверить подключение с помощью служебной программы sqlcmd.exe. sqlcmd.exe устанавливается вместе с ядром СУБД. Дополнительные сведения об sqlcmd.exe см. в разделе Служебная программа sqlcmd.
Войдите на компьютер, на котором установлен SQL Server, используя имя входа для доступа к SQL Server. Во время установки SQL Server необходимо указать по крайней мере одно имя входа в качестве администратора SQL Server. Если вы не знаете, как связаться с администратором, ознакомьтесь с разделом Подключение к SQL Server при блокировке системных администраторов.
На начальной странице введите SQL Server Management Studio или в меню Пуск предыдущих версий Windows последовательно выберите Все программы, Microsoft SQL Server и SQL Server Management Studio.
В раскрывающемся меню Подключение выберите Ядро СУБД. В поле Проверка подлинности выберите Проверка подлинности Windows. В поле Имя сервера введите один из следующих типов подключений:
Подключение к | Тип | Пример |
---|---|---|
Экземпляр по умолчанию | ACCNT27 | |
Именованный экземпляр | ACCNT27PAYROLL |
При подключении SQL Server из клиентского приложения на одном и том же компьютере используется протокол общей памяти. Общая память — это тип локального именованного канала, поэтому иногда возникают ошибки, связанные с каналами.
Если на этом этапе возникает ошибка, перед продолжением ее необходимо устранить. Возможно, имя входа не авторизовано для подключения. Возможно, база данных по умолчанию отсутствует.
Вы не можете устранить проблему, не имея достаточной информации, так как некоторые сообщения об ошибках передаются клиенту намеренно. Это функция безопасности, которая не предоставляет злоумышленнику сведения об SQL Server. Дополнительные сведения об ошибке см. в журнале ошибок SQL Server.
Если вы получили сообщение об ошибке 18456 Сбой входа для пользователя, в статье электронной документации MSSQLSERVER_18456 содержатся дополнительные сведения о кодах ошибок. В блоге Аарона Бертрана (Aaron Bertrand) также содержится обширный список кодов ошибок, указанный в разделе Устранение ошибки 18456 (внешняя ссылка). Журнал ошибок можно просмотреть с помощью SSMS (при наличии возможности подключения) в разделе Управление в обозревателе объектов. В противном случае журнал ошибок можно просмотреть с помощью программы Блокнот, установленной в Windows. Расположение по умолчанию зависит от версии и может быть изменено во время установки. Расположение по умолчанию для SQL Server 2019 (15.x) — C:Program FilesMicrosoft SQL ServerMSSQL15.MSSQLSERVERMSSQLLogERRORLOG.
Если вы можете подключиться с помощью общей памяти, протестируйте подключение по протоколу TCP. Вы можете принудительно установить TCP-подключение, указав tcp: перед именем. Примеры:
Подключение к: | Тип: | Пример. |
---|---|---|
Экземпляр по умолчанию | tcp: | tcp:ACCNT27 |
Именованный экземпляр | tcp: | tcp:ACCNT27PAYROLL |
Если вы можете подключиться с помощью общей памяти, но не протокола TCP, необходимо устранить проблему, связанную с этим протоколом. Наиболее вероятной проблемой является то, что протокол TCP не включен. Чтобы включить протокол TCP, см. раздел Шаг 6. Проверка включенных протоколов в SQL Server.
Если ваша цель — подключиться с помощью учетной записи, отличной от учетной записи администратора, вы можете начать с подключения от имени администратора. Затем попробуйте снова подключиться с помощью имени входа для проверки подлинности Windows или SQL Server, которое использует клиентское приложение.
Шаг 9. Тестирование удаленного подключения
После подключения с помощью протокола TCP на том же компьютере попробуйте подключиться с клиентского компьютера. Можно использовать любое клиентское приложение, но во избежание сложностей установите средства управления SQL Server на клиенте. После установки попробуйте использовать SQL Server Management Studio.
Используйте SQL Server Management Studio на клиентском компьютере и попробуйте подключиться, используя IP-адрес и номер TCP-порта в формате номера порта с IP-адресом, разделенным запятыми. Например, 192.168.1.101,1433 . В случае сбоя подключения может возникнуть одна из следующих проблем:
ping IP-адреса не работает. Это указывает на общую проблему конфигурации TCP. Вернитесь к разделу Шаг 7. Проверка подключения по протоколу TCP/IP.
SQL Server не прослушивает протокол TCP. Вернитесь к разделу Шаг 6. Проверка включенных протоколов в SQL Server.
SQL Server прослушивает порт, отличный от указанного. Вернитесь к разделу Получение TCP-порта.
TCP-порт SQL Server блокируется брандмауэром. Вернитесь к разделу Шаг 5. Проверка конфигурации брандмауэра.
После установления подключения по IP-адресу и номеру порта ознакомьтесь со следующими сценариями:
При подключении к экземпляру по умолчанию, который прослушивает любой порт, отличный от 1433, необходимо использовать номер порта в строке подключения или создать псевдоним на клиентском компьютере для подключения к экземпляру по умолчанию. Служба обозревателя SQL Server не может перечислить порты экземпляра по умолчанию.
При подключении к именованному экземпляру попробуйте подключиться к экземпляру в формате имени экземпляра и IP-адреса с обратной косой чертой. (Например, 192.168.1.101 ). Если это действие не срабатывает, это означает, что номер порта не возвращается клиенту. Проблема связана со службой обозревателя SQL Server, которая предоставляет клиенту номер порта именованного экземпляра. Ниже приведены решения:
- Запустите службу обозревателя SQL Server. Ознакомьтесь с инструкциями по запуску обозревателя в диспетчере конфигурации SQL Server.
- Служба обозревателя SQL Server блокируется брандмауэром. Откройте UDP-порт 1434 в брандмауэре. Вернитесь к разделу Шаг 5. Проверка конфигурации брандмауэра. Убедитесь, что вы открываете UDP-порт, а не TCP-порт.
- Сведения о UDP-порте 1434 блокируются маршрутизатором. UDP-соединение не осуществляется через маршрутизаторы и предотвращает заполнение сети трафиком с низким приоритетом. Вы можете настроить маршрутизатор для переадресации трафика UDP или указать номер порта при каждом подключении.
- Если клиентский компьютер использует Windows 7, Windows Server 2008 или более позднюю версию операционной системы, клиентская операционная система может удалить трафик UDP, так как ответ с сервера возвращается с другого IP-адреса, который был запрошен. Это действие является функцией безопасности, блокирующей «слабое сопоставление источников». Дополнительные сведения см. в разделе Несколько IP-адресов сервера в электронной документации по устранению неполадок: истекло время ожидания. (Эта статья относится к SQL Server 2008 R2, но субъекты по-прежнему применяются. Вы можете настроить клиент на использование правильного IP-адреса или указать номер порта при каждом подключении.)
После подключения по IP-адресу (или IP-адресу и имени экземпляра для именованного экземпляра) попробуйте подключиться с помощью имени компьютера (или имени компьютера и имени экземпляра для именованного экземпляра). Поместите tcp: перед именем компьютера для принудительного подключения по протоколу TCP/IP. Например, для экземпляра по умолчанию на компьютере с именем ACCNT27 используйте tcp:ACCNT27 . Для именованного экземпляра PAYROLL на этом компьютере используйте tcp:ACCNT27PAYROLL . Если вы можете подключиться по IP-адресу, но не по имени компьютера, у вас возникла проблема с разрешением имен. Вернитесь к разделу Шаг 7. Проверка подключения по протоколу TCP/IP.
После установления подключения с помощью имени компьютера с принудительным использованием TCP попробуйте подключиться с помощью имени компьютера без принудительного использования TCP. Например, для экземпляра по умолчанию просто используйте имя компьютера, например CCNT27. Для именованного экземпляра используйте имя компьютера и имя экземпляра, например ACCNT27PAYROLL. Если вы можете подключиться только при принудительном использовании TCP, клиент, вероятно, использует другой протокол, например именованные каналы. Для устранения данной проблемы выполните следующие действия:
- На клиентском компьютере используйте диспетчер конфигурации SQL Server. В левой области разверните узел Sql Native Client Configuration и выберите Client Protocols (Протоколы клиента).
- В области слева убедитесь, что включен протокол TCP/IP. Если протокол TCP/IP отключен, щелкните правой кнопкой мыши TCP/IP и выберите Включить.
- Убедитесь, что порядок протокола для TCP/IP ниже, чем у протоколов именованных каналов (или VIA в более ранних версиях). Как правило, следует оставить общую память в качестве порядка 1, а TCP/IP — в качестве порядка 2. Общая память используется только в том случае, если клиент и SQL Server работают на одном компьютере. Все включенные протоколы реализуются по порядку, пока один из них не будет реализован успешно, но общая память пропускается, если подключение не установлено на одном компьютере.
Источник
Содержание
- KB3135769-FIX: ошибка при установке SQL Server 2012 или SQL Server 2014 на сервер с включенным протоколом TLS 1,2
- Проблемы
- Причина
- Решение
- Обходное решение
- Статус
- Ссылки
- Ошибка установки SQL Server: Could not find the Database Engine startup handle
- 0x851a001a ошибка при ожидании дескриптора восстановления ядра субд
- SQL Server Express 2017 fails install [0x851A001A]
- 2 Answers 2
- Linked
- Related
- Hot Network Questions
- Subscribe to RSS
KB3135769-FIX: ошибка при установке SQL Server 2012 или SQL Server 2014 на сервер с включенным протоколом TLS 1,2
Проблемы
При попытке установить Microsoft SQL Server 2012 или SQL Server 2014 на сервере, на котором включена поддержка TLS версии 1,2, могут возникать указанные ниже проблемы.
Если версия SQL Server, которую вы пытаетесь установить, не содержит исправление для поддержки TLS 1,2 (Дополнительные сведения о сборке, добавляющей поддержку TLS 1,2, приведены в статье KB 3052404), появляется следующее сообщение об ошибке:
Не удалось дождаться дескриптор восстановления ядра СУБД. Проверьте журнал ошибок SQL Server на предмет возможных причин.
Если версия SQL Server, которую вы пытаетесь установить, содержит исправление для поддержки TLS 1,2, появляется следующее сообщение об ошибке:
Соединение с сервером успешно установлено, но при этом произошла ошибка во время предварительного подтверждения входа. (поставщик: поставщик именованных каналов; ошибка: 0-процесс не находится на другом конце канала.)
В обоих случаях установка завершается сбоем.
Причина
Эта проблема возникает из-за того, что программа установки SQL Server использует SqlClient для ADO.NET из платформы .NET Framework 2,0. По умолчанию платформа .NET Framework 2,0 работает с протоколом TLS 1,0.
Решение
Чтобы устранить эту проблему, установите накопительный пакет исправлений для .NET Framework и перезапустите сервер. Ниже приведены сведения о том, как найти соответствующее исправление в зависимости от операционной системы и версии SQL Server, в которой вы работаете.
Версия операционной системы
Windows 2012 R2 и Windows 8,1
Windows Server 2012 и Windows 8
Windows Server 2008 R2 SP1 и Windows 7 с пакетом обновления 1
Обходное решение
Чтобы обойти эту проблему, выполните указанные ниже действия.
Включите TLS 1,0 на сервере.
Запустите программу установки SQL Server 2012 или SQL Server 2014 и обновите версию SQL Server до сборки, поддерживающей TLS 1,2. (Дополнительные сведения об обновлениях, которые добавим поддержку TLS 1,2, приведены в статьях KB 3052404.)
Отключите TLS 1,0.
Примечание. При попытке установить сборку SQL Server 2012 или SQL Server 2014, которая не содержит исправления для поддержки TLS 1,2, необходимо также воспользоваться этим решением.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе «Применяется к».
Ссылки
Ознакомьтесь с терминологией , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.
Источник
Ошибка установки SQL Server: Could not find the Database Engine startup handle
Столкнулся с интересной ошибкой при установке MS SQL Server 2014 на новом сервере Windows Server 2012 R2. Установка SQL Server прерывается почти в самом конце с ошибкой «Не найден дескриптор запуска компонента Database Engine» (Could not find the Database Engine startup handle).
В логе установки Summary.txt при этом присутствует ошибка:
Feature: Database Engine Services
Данная ошибка установки MS SQL Server связана с тем, что используются стандартные настройки установки, при котором служба SQL Server запускается под непривилегированной учетной записью NT ServiceMSSQL$V2014. У данной учетной записи может быть недостаточно полномочий для запуска службы SQL Server, поэтому запустить службу невозможно, и установщик завершается с ошибкой «Could not find the Database Engine startup handle». Также эта ошибка может указывать на то, что ранее на компьютере уже пытались установить SQL Server и не очистили файлы и службы, оставшиеся от предыдущей установки.
Чтобы исправить ошибку установки SQL Server:
- Корректно деинсталлируйте все программы, связанные с SQL Server через Панель управления и перезагрузите сервер (проверьте, что не осталось файлов и папок в каталоге C:Program FilesMicrosoft SQL ServerMSSQL12.xxx);
- Запустите чистую установку из дистрибутива SQL Server. На вкладке «Server Configuration» убедитесь, что служба SQL Server Database Engine запускается под учетной записью NT ServiceMSSQLSERVER;
После окончания установки настоятельно рекомендуем изменить учетную запись, под которой запускается служба SQL Server Database Engine на непривилегированную учетную запись. Эта учетная запись не обязательно должна обладать правами локального администратора сервера (вполне достаточно полномочий внутри SQL Server). Можно использовать аккаунты с правами sysadmin — NT ServiceMSSQLSERVICE или NT ServiceSQLSERVERAGENT. Чтобы изменить учетную запись, под которой работает SQL Server:
- Запустите SQL Server Configuration Manager и перейдите в раздел SQL Server Services;
- Щелкните по SQL Server (MSSQLSERVER), нажмите кнопку Browse и в поле This account укажите учетную запись, под которой нужно запускать службу или используйте управляемую учетную запись — gMSA (Group Managed Service Accounts). Укажите пароль пользователя и сохраните изменения;
- Перезапустите службы SQL Server.
Этот способ поможет вам исправить ошибку «Не найден дескриптор запуска компонента Database Engine» при установке любых версий SQL Server (2016, 2014, 2012 или 2008).
Источник
0x851a001a ошибка при ожидании дескриптора восстановления ядра субд
I am trying to isntall SQL Server 2012 on Windows Server 2008 R2, but the Database Engine Services failed to install, and I cannot start the MSSQLSERVER Service after installation.
Installation error :
Error installing SQL Server Database Engine Services Instance Features
Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
Error code: 0x851A001A
W3WP.EXE Crash :
I noticed that during installation w3wp.exe has crashed:
Application: w3wp.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.TypeInitializationException
Stack:
at System.Web.Caching.SqlCacheDependencyManager.Dispose(Int32)
at System.Web.HttpRuntime.Dispose()
at System.Web.HttpRuntime.ReleaseResourcesAndUnloadAppDomain(System.Object)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
A process serving application pool ‘HTTP Pool’ suffered a fatal communication error with the Windows Process Activation Service. The process id was ‘4544’. The data field contains the error number.
MSSQL Service :
When I try to start the MSSQL service, I get the following errors in the event log:
— For target, «5B2DA06D-898A-43C8-9309-39BBBE93EBBD.package0.event_file», the parameter «filename» passed is invalid. Target parameter at index 0 is invalid
— Event session «system_health» failed to start. Refer to previous errors in the current session to identify the cause, and correct any associated problems.
— Script level upgrade for database ‘master’ failed because upgrade step ‘u_tables.sql’ encountered error 25641, state 0, severity 16. This is a serious error condition which might interfere with regular operation and the database will be taken offline. If the error happened during upgrade of the ‘master’ database, it will prevent the entire SQL Server instance from starting. Examine the previous errorlog entries for errors, take the appropriate corrective actions and re-start the database so that the script upgrade steps run to completion.
— Cannot recover the master database. SQL Server is unable to run. Restore master from a full backup, repair it, or rebuild it. For more information about how to rebuild the master database, see SQL Server Books Online.
Installation Log :
Overall summary:
Final result: Failed: see details below
Exit code (Decimal): -2061893606
Start time: 2013-06-10 23:02:24
End time: 2013-06-11 00:06:27
Requested action: Install
Setup completed with required actions for features.
Troubleshooting information for those features:
Next step for SQLEngine: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Machine Properties:
Machine name: SERVER01
Machine processor count: 4
OS version: Windows Server 2008 R2
OS service pack: Service Pack 1
OS region: United States
OS language: English (United States)
OS architecture: x64
Process architecture: 64 Bit
OS clustered: No
Product features discovered:
Product Instance Instance ID Feature Language Edition Version Clustered
Package properties:
Description: Microsoft SQL Server 2012 Service Pack 1
ProductName: SQL Server 2012
Type: RTM
Version: 11
Installation location: N:SoftwareWindows ServerMicrosoft SQL Server 2012 SP1 (x64)x64setup
Installation edition: Web
Slipstream: True
SP Level 1
Patch Level: 11.1.3128.0
Product Update Status:
Success: KB 2674319, KB 2793634
Product Updates Selected for Installation:
Title: Service Pack 1
Knowledge Based Article: KB 2674319
Version: 11.1.3000.0
Architecture: x64
Language: 1033
Title: SQL Server 2012 SP1 GDR Product Update
Knowledge Based Article: KB 2793634
Version: 11.1.3128.0
Architecture: x64
Language: All
Update Source: MU
User Input Settings:
ACTION: Install
ADDCURRENTUSERASSQLADMIN: false
AGTSVCACCOUNT: NT ServiceSQLSERVERAGENT
AGTSVCPASSWORD: *****
AGTSVCSTARTUPTYPE: Manual
ASBACKUPDIR: Backup
ASCOLLATION: Latin1_General_CI_AS
ASCONFIGDIR: Config
ASDATADIR: Data
ASLOGDIR: Log
ASPROVIDERMSOLAP: 1
ASSERVERMODE: MULTIDIMENSIONAL
ASSVCACCOUNT:
ASSVCPASSWORD:
ASSVCSTARTUPTYPE: Automatic
ASSYSADMINACCOUNTS:
ASTEMPDIR: Temp
BROWSERSVCSTARTUPTYPE: Disabled
CLTCTLRNAME:
CLTRESULTDIR:
CLTSTARTUPTYPE: 0
CLTSVCACCOUNT:
CLTSVCPASSWORD:
CLTWORKINGDIR:
COMMFABRICENCRYPTION: 0
COMMFABRICNETWORKLEVEL: 0
COMMFABRICPORT: 0
CONFIGURATIONFILE: C:Program FilesMicrosoft SQL Server110Setup BootstrapLog20130610_224552ConfigurationFile.ini
CTLRSTARTUPTYPE: 0
CTLRSVCACCOUNT:
CTLRSVCPASSWORD:
CTLRUSERS:
ENABLERANU: false
ENU: true
ERRORREPORTING: false
FEATURES: SQLENGINE, SSMS
FILESTREAMLEVEL: 0
FILESTREAMSHARENAME:
FTSVCACCOUNT:
FTSVCPASSWORD:
HELP: false
IACCEPTSQLSERVERLICENSETERMS: true
INDICATEPROGRESS: false
INSTALLSHAREDDIR: C:Program FilesMicrosoft SQL Server
INSTALLSHAREDWOWDIR: C:Program Files (x86)Microsoft SQL Server
INSTALLSQLDATADIR: E:MSSQL
INSTANCEDIR: C:Program FilesMicrosoft SQL Server
INSTANCEID: MSSQLSERVER1
INSTANCENAME: MSSQLSERVER
ISSVCACCOUNT: NT AUTHORITYNetwork Service
ISSVCPASSWORD:
ISSVCSTARTUPTYPE: Automatic
MATRIXCMBRICKCOMMPORT: 0
MATRIXCMSERVERNAME:
MATRIXNAME:
NPENABLED: 0
PID: *****
QUIET: false
QUIETSIMPLE: false
ROLE:
RSINSTALLMODE: DefaultNativeMode
RSSHPINSTALLMODE: DefaultSharePointMode
RSSVCACCOUNT:
RSSVCPASSWORD:
RSSVCSTARTUPTYPE: Automatic
SAPWD:
SECURITYMODE:
SQLBACKUPDIR:
SQLCOLLATION: Latin1_General_CI_AS
SQLSVCACCOUNT: NT ServiceMSSQLSERVER
SQLSVCPASSWORD:
SQLSVCSTARTUPTYPE: Automatic
SQLSYSADMINACCOUNTS: ELXTECHAdministrator
SQLTEMPDBDIR:
SQLTEMPDBLOGDIR:
SQLUSERDBDIR:
SQLUSERDBLOGDIR:
SQMREPORTING: false
TCPENABLED: 1
UIMODE: Normal
UpdateEnabled: true
UpdateSource: MU
X86: false
Configuration file: C:Program FilesMicrosoft SQL Server110Setup BootstrapLog20130610_224552ConfigurationFile.ini
Detailed results:
Feature: Management Tools — Basic
Status: Passed
Feature: Database Engine Services
Status: Failed: see logs for details
Reason for failure: An error occurred during the setup process of the feature.
Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A001A
Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.3128.0&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026
Feature: SQL Browser
Status: Passed
Feature: SQL Writer
Status: Passed
Feature: SQL Client Connectivity
Status: Passed
Feature: SQL Client Connectivity SDK
Status: Passed
Источник
SQL Server Express 2017 fails install [0x851A001A]
Installing SQL Server has been paining me for hours. I can’t get anything to work. I setup a VM with a fresh Windows Server 2016 install and tried to install SQL Server Express. I set the user to Network Service as suggested here. Unfortunately I got a message saying «Wait on the Database Engine recovery handle failed. » The error log suggested error code 0x851A001A (which I had gotten before, hence the user change). I’ve spent a long time trying to install this on various Virtual Machines and just can’t seem to get it. I’ve attached the install log and the error log from when I tried to run it manually.
Install Log:
Error Log:
2 Answers 2
Reinstall a SQL server instance. When it asks you to supply an instance name, use something unique that you haven’t already used (MSSQLSERVER99.) Make the Instance ID the same.
You must be victim of uninstalling and reinstalling. The network service user is giving you permissions trouble. It happens after uninstalling MSSQL server.
I hit the same issue with the FreeBSD Bhyve VM. The root cause was in sector size. Solved the issue by adding this option to the VM config (I’m using vm-bhyve):
Linked
Hot Network Questions
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2022.11.3.43003
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
Источник
I answered my question below as I found the answer out eventually and I feel people might be going through the same struggle!
The installation failed for me due to using the standard/default settings during installation. When doing this, the SQL Windows service will run under the NT ServiceMSSQL$V2016 account.
After changing this login to a valid login (an existing local user), the server started correctly, and SQL Server Express 2016 installed and worked as it should..
Системное администрирование
1
Записи
1
Пользователи
0
Likes
5,772
Просмотры
(@dom)
Honorable Member
Присоединился: 4 года назад
Записи: 200
Создатель темы 03/03/2020 5:46 дп
Я столкнулся с интересной ошибкой при установке MS SQL Server 2014 на новую виртуальную машину под управлением Windows Server 2012 R2. Установка SQL Server была прервана почти в конце с ошибкой « Не удалось найти дескриптор запуска компонента Database Engine ».
В журнале установки SQL произошла следующая ошибка (файл summary.txt):
Особенность: Услуги СУБД
Статус: Ошибка: подробности см. В журналах.
Причина сбоя: во время процесса установки функции произошла ошибка.
Следующий шаг: используйте следующую информацию для устранения ошибки, удалите эту функцию, а затем снова запустите процесс установки.
Имя компонента: функции экземпляра служб СУБД SQL Server
Код ошибки компонента: 0x851A0019
Описание ошибки: не удалось найти дескриптор запуска компонента Database Engine.
Эта ошибка установки MS SQL Server связана со стандартными параметрами установки, когда SQL Server запускается под непривилегированной учетной записью NT Service MSSQL $ V2014 . Эта учетная запись может не иметь права на запуск службы SQL Server, поэтому она не может быть запущена, и установщик возвращает ошибку «Не удалось найти дескриптор запуска компонента Database Engine». Кроме того, эта ошибка может указывать на то, что кто-то уже пытался установить SQL Server на этот компьютер, а файлы или службы, оставшиеся после установки, не были удалены.
Чтобы исправить ошибку установки SQL Server:
- Правильно удалите все программы, связанные с SQL Server, из панели управления и перезапустите сервер (убедитесь, что в папке C: Program Files Microsoft SQL Server MSSQL12.xxx нет файлов или папок).
- Запустите установку из дистрибутива SQL Server с нуля. На вкладке Конфигурация сервера убедитесь, что служба ядра СУБД SQL Server запущена с учетной записью NT Service MSSQLSERVER;
- Измените эту учетную запись на NT AUTHORITY SYSTEM;
- Продолжите установку SQL Server. Ошибка не должна появиться снова.
После завершения установки мы настоятельно рекомендуем изменить учетную запись, под которой запускается компонент SQL Server Database Engine, на непривилегированную учетную запись.
Вам не нужно предоставлять этой учетной записи права локального администратора (достаточно предоставить необходимые привилегии в настройках безопасности SQL Server).
Вы можете использовать учетные записи с привилегиями системного администратора: NT Service MSSQLSERVICE или NT Service SQLSERVERAGENT.
Чтобы изменить учетную запись, под которой работает SQL Server:
- Запустите диспетчер конфигурации SQL Server и перейдите к службам SQL Server;
- Нажмите SQL Server (MSSQLSERVER), затем нажмите кнопку «Обзор» и в поле «Эта учетная запись» укажите учетную запись, под которой должна быть запущена служба, или используйте gMSA (учетная запись группы управляемых служб). Введите пароль пользователя и сохраните изменения;
- Перезапустите службы SQL Server.
Этот метод поможет вам исправить ошибку «Не удалось найти дескриптор запуска компонента Database Engine» во время установки любых версий SQL Server (2016, 2014, 2012 или 2008 r2).