Error 52 не найден компонент local database runtime

Обновлено: 04.07.2024

всякий раз, когда я пытаюсь удалить базу данных, я получаю:

когда я использую:

Я прекратил соединение с этой БД, но если я попытаюсь удалить базу данных после этого, кто-то автоматически подключится к этой базе данных и даст эту ошибку. Что может быть, что делать? Никто не использует эту базу данных, кроме меня.

вы можете предотвратить будущие соединения:

(и, возможно, другие пользователи и роли; см. \l+ на psql )

затем вы можете завершить все подключения к этой БД, кроме собственного:

на старых версиях pid называлась procpid так что вам придется смириться с этим.

так как вы отозвали CONNECT права, все, что пытается автоматически подключиться, больше не должно быть в состоянии сделать это.

теперь вы сможете отбросить ДЕЦИБЕЛ.

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

всякий раз, когда я пытаюсь удалить базу данных, я получаю:

сначала вам нужно отменить

затем использовать:

это наверняка сработает.

просто проверьте, что такое соединение, откуда оно исходит. Вы можете увидеть все это в:

возможно, это ваша связь?

Я нашел решение этой проблемы попробуйте запустить эту команду в терминале

убить процесс по этой команде

если нет потенциального влияния на другие службы на вашем компьютере, просто service postgresql restart

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

затем попробуйте удалить базу данных:

это будет делать трюк. Счастливого кодирования

в моем случае я использую AWS Redshift (на основе Postgres). И, кажется, нет никаких других подключений к БД, но я получаю эту же ошибку.

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

так что мой Хак должен был написать цикл в моем коде, ища строки с моим именем базы данных в нем. (конечно, цикл не бесконечен, а является сонным циклом и т. д.)

если строки найдены, перейдите к удалению каждого PID, один за другим.

если строки не найдены, перейдите к удалению базы данных

Примечание: В моем случае я пишу тесты Java unit/system, где это можно считать приемлемым. Это неприемлемо для производственного кода.

вот полный Хак, в Java (игнорировать мои тестовые / служебные классы).

в терминале попробуйте эту команду:

вы увидите как:

501 1445 3645 0 12: 05AM 0: 00.03 postgres: sasha dbname [местный] холостом ходу

Я не понимаю, как заставить LocalDB отображаться в Обозревателе объектов SQL Server. На некоторых виртуальных машинах он появляется автоматически, на других-нет. Тем не менее, после нескольких часов поиска в гугле, я не понимаю.

текущая ситуация

  1. у меня есть чистая VM
  2. Я установил сообщество Visual Studio 2015 (все настройки по умолчанию)
  3. Я разрешаю запуск консольного приложения (Entity Framework 6, Code-first, console приложение), который работал на другой виртуальной машине и автоматически создал базу данных, которая затем появилась в Обозревателе объектов SQL Server; но не на этот раз

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

Connecting to LocalDB

что я думаю знать

  • сообщество Visual Studio 2015 поставляется с LocalDB; поэтому все должно просто работать "из коробки", но это не так, и я не знаю, почему
  • базы данных LocalDB-это всего лишь пара файлов (*.MDF и.* ldf)
  • Я видел файлы, создаваемые в расположении базы данных по умолчанию в C:Users<username>AppDataLocalMicrosoftMicrosoft SQL Server Local DBInstancesMSSQLLocalDB ; но на этой виртуальной машине нет такой папки
  • на App.config выглядел каждый раз так (и он был автоматически создан таким образом, когда я установил Entity Framework 6 Диспетчер пакетов NuGet в Visual Студия:

App.config

другие случайные комментарии

  • ранее, с SQL Server, необходимо было открыть определенные порты, но LocalDB работает, как я понимаю, как отдельный процесс по требованию при запуске Visual Studio.
  • Я не знаю, как отладить SQLException
  • не поставляется ли LocalDB в комплекте с сообществом Visual Studio 2015 и нужно ли устанавливать его отдельно?

У меня была та же проблема сегодня, недавно установив обновление VS2015 Community Edition 1.

я исправил проблему, просто добавив "SQL Server Data Tools" из установщик установки VS2015. Когда я запустил установщик в первый раз я выбрал "пользовательский" тип установки вместо "по умолчанию". Я хотел посмотреть, какие параметры установки были доступны, но не выбрать ничего отличного от того, что уже было отмечено. Мое предположение было то, что уже было отмечено, было по существу установкой по умолчанию. Но это не так.

чтобы проверить, установлен ли LocalDb или нет:

  • запустите SSMS (среда SQL Server Management Studio).
  • попробуйте подключиться к этому экземпляру (localdb)\V11.0 использование проверки подлинности windows.

если возникает ошибка Cannot connect to (localdb)\V11.0. измените имя экземпляра на (localdb)\MSSQLLocalDB и снова пытаться подключиться, если вы все еще получаете ту же ошибку.

выполните следующие действия для установки LocalDb:

  • закрыть SSMS.
  • закрыть VS (Visual Studio), если он работает.
  • на Start Menu и введите в поиск sqlLocalDb .
  • из результатов, которые появляются выберите sqlLocalDb.msi и щелкните по нему.
  • SQL setup начнет установку LocalDB

после завершения установки повторно запустите SSMS и попробуйте подключиться к любому из экземпляров (localdb)\V11.0 или (localdb)\MSSQLLocalDB , один из них должен работать в зависимости от того, какая версия Visual Studio у вас есть.

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

в дополнение к вышеупомянутым способам поиска, если localdb установлен, вы также можете использовать MS windows power shell или windows command processor CMD или даже NuGet package manager console на вашем сервере машины и запустить эти команды sqllocaldb i и sqllocaldb v это покажет вам имя localdb, если это установлена и установлена и запущена версия сервера MSSQL на вашем компьютере.

Если вы не уверены, установлена ли локальная БД или не знаете, какое имя базы данных вы должны использовать для подключения к ней - попробуйте запустить команду "sqllocaldb info" - она покажет вам существующие базы данных localdb.

теперь, насколько я знаю, локальная БД должна быть установлена вместе с Visual Studio 2015. Но, вероятно, это не обязательная функция, и если что - то пойдет не так или ее нельзя установить по какой-то причине-установка Visual Studio все еще продолжается (обратите внимание, что это только мое предположение). Так чтобы быть в безопасности, не полагайтесь на него, он всегда будет установлен вместе с VS.

  1. поиск "в sqllocaldb" из меню "Пуск",
  2. нажмите на команду Выполнить,
  3. вернитесь к VS 2015 tools / connect to database,
  4. выберите MSSQL server,
  5. введите (localdb)\MSSQLLocalDB в качестве имени сервера

выберите вашу базу данных и готов к работе.

Я попытался установить только LocalDB, который был пропущен в моей установке VS 2015. Ниже приведен URL и выборочно загрузите установщик LocalDB (2012), размер которого составляет всего 33 Мб :)

Если вы ищете средство SQL Server Data Tool для интеграции с Visual Studio 2015, загрузите его из :

  1. искать sqllocaldb или localdb с в меню Пуск windows и щелкните правой кнопкой мыши на open file location
  2. Откройте командную строку в местоположении файла, которое вы нашли в поиске

в командной строке введите sqllocaldb start

использовать <add name="defaultconnection" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=tododb;Integrated Security=True" providerName="System.Data.SqlClient" />

Я заметил, что есть localdb в путь, который вы упомянули выше, и имеет версии 11.0. Поэтому я вошел (LocalDB\V11.0) в диалоге Add Connection, и это сработало для меня.

В этой статье описаны методы поиска и устранения неполадок, при которых не удается подключиться к экземпляру ядра СУБД SQL Server на отдельном сервере.

Для других сценариев см. такие материалы:

Эти инструкции не входят в процедуры решения наиболее вероятных проблем, так как, скорее всего, вы уже пробовали выполнить эти процедуры. Сначала указываются шаги по устранению базовых ошибок, а затем рассматриваются более сложные вопросы. При выполнении этих действий предполагается, что вы подключаетесь к экземпляру SQL Server с другого компьютера по протоколу TCP/IP, так как этот вариант является наиболее распространенным.

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.

(provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 53)

(provider: TCP Provider, error: 0 - No such host is known.) (Microsoft SQL Server, Error: 11001)

Эта ошибка обычно означает, что клиенту не удается найти экземпляр SQL Server. Обычно это происходит при наличии хотя бы одной из следующих проблем:

  • Имя компьютера, на котором размещен SQL Server
  • экземпляр не может правильно разрешить IP-адрес;
  • номер TCP-порта указан неправильно.

Интерактивную страницу по устранению неполадок можно найти на сайте службы технической поддержки Microsoft на странице Solving Connectivity errors to SQL Server (Устранение ошибок подключения к SQL Server).

Ошибки, не описанные в статье

Получение имени экземпляра из диспетчера конфигурации

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

Диспетчер конфигурации автоматически устанавливается на компьютер при установке SQL Server. Инструкции по запуску диспетчера конфигурации могут незначительно отличаться в зависимости от версии SQL Server и Windows. Подробные сведения об определенных версиях см. в статье Диспетчер конфигурации SQL Server.

Войдите на компьютер, на котором размещен экземпляр SQL Server.

Запустите диспетчер конфигурации SQL Server.

На левой панели выберите Службы SQL Server.

На правой панели проверьте имя экземпляра ядра СУБД.

  • SQL SERVER (MSSQLSERVER) — это экземпляр SQL Server по умолчанию. <computer name> — имя экземпляра по умолчанию.
  • SQL SERVER (<instance name>) — это именованный экземпляр SQL Server. <computer name>\<instance name> — имя именованного экземпляра.

Проверка выполнения экземпляра

Проверить, выполняется ли экземпляр, позволяет значок около экземпляра SQL Server в диспетчере конфигурации.

  • Если экземпляр выполняется, отображается зеленая стрелка.
  • Красный квадрат означает, что экземпляр остановлен.

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

Убедитесь, что служба обозревателя SQL Server запущена

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

Экземпляр SQL Server по умолчанию не требует службы "Обозреватель SQL Server".

Тестирование локального подключения

Перед устранением неполадки, связанной с подключением с другого компьютера, нужно проверить возможность подключения из клиентского приложения, установленного локально на компьютере, на котором запущен 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. В поле Имя сервера задайте один из следующих типов подключения:

Подключение к Тип Пример
Экземпляр по умолчанию <computer name> ACCNT27
Именованный экземпляр <computer name\instance name> ACCNT27\PAYROLL

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

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

Если возникает ошибка 18456 Login failed for user , дополнительные сведения о кодах ошибки см. в описании ошибки MSSQLSERVER_18456. Подробный список кодов ошибок приведен в блоке Аарона Бертрана (Aaron Bertrand) в статье Troubleshooting Error 18456 (Устранение ошибки 18456). Журнал ошибок можно просмотреть помощью среды SSMS (при наличии соединения) в разделе "Управление" обозревателя объектов. В противном случае журнал можно просмотреть с помощью программы Блокнот Windows. Расположение по умолчанию зависит от версии и может быть изменено во время установки. Расположением по умолчанию для SQL Server 2019 (15.x) является C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Log\ERRORLOG .

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

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

Если вы хотите установить соединение с использованием учетной записи, отличной от учетной записи администратора, после соединения с правами администратора повторите попытку, используя имя входа для проверки подлинности Windows или имя входа для проверки подлинности SQL Server, которое использует клиентское приложение.

Получение IP-адреса сервера

Получите IP-адрес компьютера, на котором размещен экземпляр SQL Server.

  1. В меню "Пуск" щелкните Выполнить. В окне Выполнить введите cmd, а затем нажмите кнопку ОК.
  2. В окне командной строки введите ipconfig и нажмите клавишу ВВОД. Запишите IPv4 -адрес и IPv6 -адрес.

SQL Server может использовать для подключения IP-протокол версии 4 или версии 6. В вашей сети может быть разрешен один из них или оба. Большинство пользователей начинает устранение неполадок с IPv4 -адреса. Он короче и проще для ввода.

Получение данных о номере TCP-порта для экземпляра SQL Server

В большинстве случаев соединение с ядром СУБД SQL Server с другого компьютера устанавливается по протоколу TCP.

Вероятно, что будет указан IP address 127.0.0.1 . Он называется петлевым адресом адаптера. Использовать его для подключения могут только процессы, выполняющиеся на одном компьютере. Он может быть полезен при устранения неполадок, но не подходит для соединения с другого компьютера.

Включение протоколов

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

  1. Запустите диспетчер конфигурации SQL Server, как описано выше.
  2. В диспетчере конфигурации на левой панели разверните узел Сетевая конфигурация SQL Server, а затем выберите экземпляр SQL Server, к которому нужно подключиться. На правой панели перечислены доступные протоколы соединений. Как правило, включена общая память. Ее можно использовать только на том же компьютере, поэтому в большинстве установок общая память остается включенной. Для подключения к SQL Server с другого компьютера обычно используется протокол TCP/IP. Если TCP/IP не включен, щелкните элемент TCP/IP правой кнопкой мыши и выберите команду Включить.
  3. Если включенный параметр для протокола был изменен, необходимо перезапустить ядро СУБД. На левой панели выберите Службы SQL Server. На правой панели щелкните экземпляр Database Engine правой кнопкой мыши и выберите команду Перезапустить.

Тестирование подключения TCP/IP

Для подключения к SQL Server по протоколу TCP/IP требуется возможность установки соединения в Windows. Для тестирования TCP-подключения воспользуйтесь средством ping .

В меню "Пуск" щелкните Выполнить. В окне Выполнить введите cmd, а затем нажмите кнопку ОК.

В окне командной строки введите ping <ip address> и IP-адрес компьютера, на котором запущен SQL Server. Пример:

  • IPv4: ping 192.168.1.101
  • IPv6: ping fe80::d51d:5ab5:6f09:8f48%11

Если сеть настроена правильно, команда ping возвращает Reply from <IP address> и некоторые дополнительные сведения. Если ping возвращает Destination host unreachable или Request timed out , значит TCP/IP настроен неправильно. На этом этапе ошибка может указывать на проблему с клиентским компьютером, компьютером сервера или сетевую проблему, например ошибку маршрутизатора. Сведения об устранении неполадок сети см в статье Advanced troubleshooting for TCP/IP issues (Устранение проблем TCP/IP повышенной сложности).

Затем, в случае успешной проверки связи с использованием IP-адреса, убедитесь, что имя компьютера может быть разрешено в TCP/IP-адрес. На клиентском компьютере в окне командной строки введите ping и имя компьютера, на котором запущен SQL Server. Например, ping newofficepc .

Если команда ping для IP-адреса выполняется успешно, но ping по имени компьютера возвращает Destination host unreachable или Request timed out , причиной могут быть устаревшие сведения о разрешении имен, сохраненные в кэше клиентского компьютера. Введите ipconfig /flushdns , чтобы очистить кэш DNS. Затем проверьте связь с компьютером по имени еще раз. Клиентский компьютер с пустым кэшем DNS проверяет наличие последних сведений об IP-адресе компьютера сервера.

Открытие порта в брандмауэре

По умолчанию брандмауэр Windows включен и блокирует подключения с других компьютеров. Чтобы подключиться с использованием протокола TCP/IP с другого компьютера, на компьютере SQL Server необходимо настроить брандмауэр для разрешения подключений к TCP-порту, используемому компонентом Database Engine. Экземпляр по умолчанию прослушивает по умолчанию TCP-порт 1433. Если запущены именованные экземпляры или вы изменили значение по умолчанию, TCP-порт SQL Server может прослушивать другой порт. См. раздел Получение данных о номере TCP-порта для экземпляра SQL Server.

При подключении к именованному экземпляру или порту, отличному от TCP-порта 1433, необходимо также открыть UDP-порт 1434 для службы обозревателя SQL Server. Пошаговые инструкции по открытию портов в брандмауэре Windows см. в статье Настройка брандмауэра Windows для доступа к компоненту Database Engine.

Проверка подключения

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

На клиентском компьютере с помощью среды SQL Server Management Studio попробуйте подключиться, используя IP-адрес и номер TCP-порта в формате "IP-адрес, номер порта". Например, 192.168.1.101,1433 . Если этот вариант не работает, вероятно, возникла одна из таких проблем:

  • Запрос ping по IP-адресу не работает, что указывает на наличие общей проблемы конфигурации TCP. Вернитесь к разделу Тестирование подключения TCP/IP.
  • SQL Server не прослушивает протокол TCP. Вернитесь к разделу Включение протоколов.
  • SQL Server прослушивает порт, отличный от указанного порта. Вернитесь к разделу Получение данных о номере TCP-порта для экземпляра SQL Server.
  • TCP-порт SQL Server блокируется брандмауэром. Вернитесь к разделу Открытие порта в брандмауэре.

Если вы можете подключиться с помощью IP-адреса и номера порта, попробуйте подключиться, используя IP-адрес без указания номера порта. Для экземпляра по умолчанию просто используйте IP-адрес. Для именованного экземпляра используйте IP-адрес и имя экземпляра в формате "IP-адрес\имя экземпляра", например 192.168.1.101\<instance name> . Если этот вариант не работает, вероятно, возникла одна из следующих проблем:

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

Обе эти проблемы связаны со службой обозревателя SQL Server, которая предоставляет клиенту номер порта. Далее приводятся возможные решения.

  • Запустите службу обозревателя SQL Server. См. инструкции по запуску обозревателя в диспетчере конфигурации SQL Server.
  • Служба обозревателя SQL Server блокируется брандмауэром. Откройте UDP-порт 1434 в брандмауэре. Вернитесь к разделу Открытие порта в брандмауэре. Убедитесь, что вы открываете UDP-порт, а не TCP-порт.
  • Данные о UDP-порте 1434 блокируются маршрутизатором. Соединения по протоколу UDP не предназначены для передачи через маршрутизаторы. Это исключает попадание трафика с низким приоритетом в сеть. Вы можете настроить в маршрутизаторе пересылку UDP-трафика или же всегда указывать номер порта при подключении.
  • Если клиентский компьютер работает под управлением Windows 7 или Windows Server 2008 (или более поздней операционной системы), ОС может отбрасывать UDP-трафик, поскольку ответ с сервера возвращается с IP-адреса, отличного от запрошенного. Это функция безопасности, блокирующая свободное сопоставление источника. Дополнительные сведения см. в разделе Сервер с несколькими IP-адресами статьи электронной документации Устранение неполадок. Время ожидания истекло. Это статья о SQL Server 2008 R2, но ее основные тезисы можно применить также к рассматриваемому вопросу. Вы можете настроить в клиенте использование правильного IP-адреса или же всегда указывать номер порта при подключении.

Если вы можете установить соединение с помощью IP-адреса (или IP-адреса и имени экземпляра именованного экземпляра), попробуйте подключиться с помощью имени компьютера (или имени компьютера и имени экземпляра именованного экземпляра). Чтобы принудительно установить подключение TCP/IP, укажите tcp: перед именем компьютера. Например, для экземпляра по умолчанию на компьютере с именем ACCNT27 используйте tcp:ACCNT27 . Для именованного экземпляра PAYROLL на этом компьютере используйте tcp:ACCNT27\PAYROLL . Если можно подключиться с помощью IP-адреса, но не имени компьютера, то существует проблема с разрешением имени. Вернитесь к разделу Тестирование подключения TCP/IP, подраздел 4.

Если вы можете подключиться с помощью имени компьютера, активирующего TCP, попробуйте подключиться с использованием имени компьютера, но без принудительной активации TCP. Например, для экземпляра по умолчанию используйте только имя компьютера, например CCNT27 . Для именованного экземпляра используйте имя компьютера и имя экземпляра, например ACCNT27\PAYROLL . Если вы можете установить соединение с активацией TCP, но не можете без активации TCP, возможно, клиент использует другой протокол (например, именованные каналы).

Я пытаюсь установить SQL Server Express 2012 с пакетом обновления 1 x 64 на Windows 7 с пакетом обновления 1 x 64. На этом компьютере ранее был установлен SQL Server Express 2012. Этот экземпляр был обновлен до SQL Server 2012 Standard, который с тех пор был удален.

Ниже приведены параметры, выбранные во время установки:

Включить обновления продукта SQL Server в установку - 2, связанные с KB 2793634

Установить все функции в каталоги по умолчанию

Именованный экземпляр SQLEXPRESS в корневом каталоге экземпляра по умолчанию

Учетные записи служб по умолчанию: ядро ​​базы данных SQL Server -> служба NT \ MSSQL $ SQLEXPRESS

Конфигурация ядра СУБД по умолчанию

Установка завершается с ошибкой:

НАЗВАНИЕ: Microsoft SQL Server 2012 с пакетом обновления 1 (SP1)

Я читал, что это может быть связано с поврежденной виртуальной учетной записью MSSQL $ SQLEXPRESS.

Summary.txt

Нет больше догадок. Вы собираетесь найти и прочитать файлы журнала установки. См. Просмотр и чтение файлов журнала установки SQL Server . Если вы не можете определить ошибку самостоятельно в журнале установки, опубликуйте журнал здесь.

Простое и полное решение ошибки «Не удалось найти дескриптор запуска ядра базы данных» по ссылке ниже. Причина ошибки может быть

1.Учетная запись, которую пользователь выбрал в окне страницы конфигурации сервера (во время установки), почему-то не может подключить службы ядра СУБД SQL Server к сети. Либо не хватает привилегий, либо он поврежден. Во время установки служб ядра СУБД SQL Server пытается подключить онлайновые службы баз данных как внутренний процесс, но из-за того, что учетная запись запуска либо повреждена, либо не имеет соответствующих привилегий, это не удается сделать, и в конечном итоге происходит сбой установки.

Решение может быть.

Полностью удалить SQL-сервер из программы Добавить удалить

Запустите установку, щелкнув по ней правой кнопкой мыши и выбрав «Запуск от имени администратора». После запуска установки и предоставления необходимых сведений вы перейдете на страницу конфигурации сервера. Когда вы перейдете на эту страницу, выберите начальную учетную запись для служб компонента Database Engine как NT Authority \ SYSTEM, которая также называется учетной записью локальной системы.

Большое спасибо, Шэнки. Я устанавливал и удалял много раз и становился очень расстроенным. Ваше решение изменить его на NT Authority \ SYSTEM работало как шарм.

После работы со службой технической поддержки Microsoft по этой проблеме мы определили, что деинсталляция SQL Server Standard и переустановка SQL Server Express оставляет учетную запись службы (в данном случае NT Service \ MSSQL $ SQLEXPRESS ) в состоянии, в котором она не находится. не имеют разрешения, необходимые для запуска службы.

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

date

05.03.2019

directory

SQL Server

comments

комментария 4

Столкнулся с интересной ошибкой при установке MS SQL Server 2014 на новом сервере Windows Server 2012 R2. Установка SQL Server прерывается почти в самом конце с ошибкой «Не найден дескриптор запуска компонента Database Engine» (Could not find the Database Engine startup handle).

ошибка Could not find the Database Engine startup handle при установке SQL Server 2014

В логе установки Summary.txt при этом присутствует ошибка:

Данная ошибка установки MS SQL Server связана с тем, что используются стандартные настройки установки, при котором служба SQL Server запускается под непривилегированной учетной записью NT Service\MSSQL$V2014. У данной учетной записи может быть недостаточно полномочий для запуска службы SQL Server, поэтому запустить службу невозможно, и установщик завершается с ошибкой «Could not find the Database Engine startup handle». Также эта ошибка может указывать на то, что ранее на компьютере уже пытались установить SQL Server и не очистили файлы и службы, оставшиеся от предыдущей установки.

учетная запись NT Service\MSSQLSERVER для запуска службы SQL Server Database Engine

  1. Корректно деинсталлируйте все программы, связанные с SQL Server через Панель управления и перезагрузите сервер (проверьте, что не осталось файлов и папок в каталоге C:\Program Files\Microsoft SQL Server\MSSQL12.xxx);
  2. Запустите чистую установку из дистрибутива SQL Server. На вкладке «Server Configuration» убедитесь, что служба SQL Server Database Engine запускается под учетной записью NT Service\MSSQLSERVER;

Читайте также: