Не запускается sql server на windows server 2012

Обновлено: 05.07.2024

Для настройки работы Microsoft SQL Server на специфическом порту нужно воспользоваться диспетчером конфигураций Microsoft SQL Server. Иногда ярлык “Диспетчер конфигурации SQL Server” (“SQL Server Configuration Manager”) отсутствует.

Запуск диспетчера конфигурации вручную

Вручную можно запустить командой:

C:\Windows\SysWOW64\mmc.exe /32 "c:\Windows\SysWOW64\SQLServerManager.msc"
(для 64-битной системы)

C:\Windows\System32\mmc.exe /32 C:\Windows\system32\SQLServerManager.msc
(для x86)

Вместо SQLServerManager.msc может быть другой файл, в зависимости от версии SQL Server, например, SQLServerManager12.msc.

Ошибка ручного запуска

В случае, если команда выдает ошибку 0x8004100e:

"Не удалось подключиться к поставщику WMI. Сервер недоступен или нет разрешения на доступ. Управлять службами SQL Server 2005 можно только с помощью диспетчера конфигурации SQL Server. Недопустимый класс [0x80041010] "

нужно восстановить файл конфигурации поставщика инструментария управления Windows (WMI) для управления службами SQL Server, выполнив:

C:\Program Files (x86)\Microsoft SQL Server\90\Shared\mofcomp sqlmgmproviderxpsp2up.mof
(для 64-битной системы)

C:\Program Files\Microsoft SQL Server\90\Shared\mofcomp sqlmgmproviderxpsp2up.mof
(для x86)

Вместо C:\. \90 может быть другая папка в зависимости от номера версии SQL Server (80, 90, 100, 110, 120 ….). Кроме того, на одном ПК могло быть установлено несколько версий, нужно выбрать актуальную.

Screenshot_49.jpg

Результат запуска

Screenshot_48.jpg

После этого диспетер конфигурации можно будет запустить вручную, как показано в начале.

При попытке установить RTM версию SQL Server 2012 Standard на свеже-установленную ОС Windows Server 2012 при отсутствии прямого подключения к интернету можно получить ошибку включения зависимой компоненты: NetFx3 -2146498298

image

При этом процесс установки проходит до конца но не устанавливает основные компоненты SQL Server.

Dism /online /enable-feature /featurename: NetFX3 /All /Source: S:\sources\SxS /LimitAccess

image

Укажем каталог полный пусть к подкаталогу Sources\SxS на нашем DVD-накопителе или сетевой папке, в которую мы предварительно скопировали содержимое установочного диска Windows Server 2012.

image

image

После этого можно заново повторить процедуру установки необходимых компонент SQL Server 2012. Возможно при повторном запуске инсталлятора мы получим ошибку:

System.IO.FileNotFoundException: Could not load file or assembly 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.

image

Появление этой ошибки будет вести к отмене вызова окна программы установки SQL Server. Эта “болячка” известна ещё со времени SQL Server 2008 R2 и для решения этой проблемы необходимо найти указанный в тексте ошибки файл user.config и удалить его.

В нашем примере файл расположен в каталоге
%USERPROFILE%\AppData\Local\Microsoft_Corporation\LandingPage.exe_StrongName_ryspccglaxmt4nhllj5z3thycltsvyyx\11.0.0.0

После этого процесс установки SQL Server 2012 должен завершиться без ошибок.

Все сделали по инструкции , но MS SQL Server все равно бунтует? Можно пойти на какой-нибудь форум и пожаловаться там.

Highload решил упростить вам задачу и просто собрал топ причин, почему не устанавливается Microsoft SQL Server, в одном материале.

На компьютере уже был MS SQL Server, и какие-то его файлы мешают новой установке

Даже если перед установкой новой версии MS SQL Server вы удалили старую, что-то могло не удалиться. Это «что-то» система продолжает держать и не дает поставить новую СУБД (систему управления базами данных).

Решение: почистить файлы вручную (вплоть до реестра) или какой-то программой; переустановить фреймворк и распространяемый Visual C++ Redistributable

Пользователя, которого вы назначили управлять сервером, не существует (или у него нет нужных прав)

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

Решение: можно долго и нудно разбираться с текущим пользователем, но лучше просто создать нового; или вообще использовать системную учетную запись (SYSTEM)

Имя компьютера и/или имя пользователя задано кириллицей

То есть русскими буквами. Примитивная причина, но иногда такое случается.

Решение: поменять имя компьютера на английское 🙂 И заодно проверить всех пользователей

Вы ввели неправильный пароль пользователя

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

Решение: вручную проверить пароль пользователя

Версия SQL Server не поддерживается текущей версией Windows Server

Или наоборот. Посмотрите список требований к вашей версии SQL Server на сайте Microsoft. Если вашего Windows Server в списке нет — ничего не попишешь.

Решение: поставить другую версию SQL Server, или обновить Windows Server, или просто поставить SQL не на сервер, а на обычный Windows

Версия SQL Server не поддерживается вашей Windows

Например, SQL Server 2012 подходит для Windows от Vista до семерки, а с установкой на десятку могут быть проблемы.

Решение: как и в прошлом пункте, только с поправкой на обычный Windows; если очень нужна именно эта версия SQL, можно попробовать запустить ее в режиме совместимости с какой нибудь из других версий Windows — «методом проб и ошибок»

Вы поставили новую версию SQL Server

Это не совсем проблема, так как в этом случае все, скорее всего, установится, но не будет окошка с запуском программы . В новых версиях MS SQL сам сервер и SQL Server Management Studio (SSMS, визуальная оболочка) разъединены. Поэтому если нужна именно программа, в которой можно будет визуально работать с базами, то нужно ставить еще и SSMS.

Решение: поставить старую версию SQL Server, установить Management Studio или просто работать без графической оболочки

Вы засорили реестр

Иногда это приводит не к ошибке инсталляции, а к ее бесконечной загрузке. Если прошло несколько часов и ничего не установилось — это оно.

Решение: удалить из реестра HKLM\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server Management Studio ; а лучше вообще почистить реестр вручную или программой

Вы скачали кривой дистрибутив

Такое тоже может быть, особенно если скачивали не с официального сайта .

Решение: скачать нормальный дистрибутив 🙂

Мешают вирусы

В этом случае, как именно они повлияют на установку, предсказать невозможно.

Решение: удалить Microsoft SQL Server подчистую (то есть, в том числе из реестра); проверить ПК на вирусы; установить все заново

Highload нужны авторы технических текстов. Вы наш человек, если разбираетесь в разработке, знаете языки программирования и умеете просто писать о сложном!
Откликнуться на вакансию можно здесь .

Средь моря проблем, с которыми сталкиваются пользователи ПК, есть следующая: невозможность запустить службу SQL Server. Итак!

"Не удалось запустить службу SQL Server. Для получения дополнительных сведений см. в разделах документации по SQL Server. " и тд. Также прилагается код ошибки, под номером 29503.

Почему так произошло? Причин может быть несколько, но все они разрешимы.

Причина №1: служба SQL Server не устанавливается в виду того, что согласованность (соотношение) между физическими сокетами и логическими процессорами системы не имеет степень числа 2. Либо физические ядра не имеют степень 2. И, наконец, если общее наличие процессоров является нечетным.
Устранение проблемы: необходимо поменять число логических процессоров в ОС Windows 2003. Вот ваш алгоритм: "Пуск" - "Выполнить". В командную строку "Открыть" впишите команду msconfig и нажмите на кнопку "Ок" или "Enter". Вы окажетесь в окне "Настройка системы". Здесь вы увидите вкладки, среди которых будет вкладка "BOOT.INI" - кликайте на ней.

В открывшемся окне жмите кнопку "Дополнительно". Поверх основного окна появится ещё одно окно, озаглавленное, как "Доп. параметры BOOT.INI". В нем вы увидите список, в котором вас интересует строчка "/NUMPROC" - поставьте в этой клеточке "птичку". Видите стрелочку вниз? Нажмите на неё, выберите значение 1 (один) и нажмите на "Ок". Далее нажимаете на "Ок" в окне "Настройка системы". Перезагружаете сервер и теперь можете устанавливать ваш SQL Server 2005. И не забудьте про пакет последних обновлений для этой службы. А после этого снова войдите в "Выполнить" - "Открыть" - впишите msconfig - "нажмите на "Ок" - "Настройки системы" - "Доп. параметры BOOT.INI" и снимите "птичку", которую вы ставили возле "/NUMPROC".

Причина №2: вы не можете запустить службу SQL Server в виду того, что в учетной записи сетевой служба просто нет разрешения для папки (или подпапки).
Решается проблема довольно просто: необходимо предоставить учетной записи NETWORK Service все права доступа к папке. Делается это посредством такого алгоритма: заходите в "Свойства Microsoft" - кликаете на вкладку "Безопасность" - выделяете запись NETWORK Service и в нижнем поле ставите "птичку" в клеточке возле строчки "Полный доступ". Также вы можете в параметрах настройки SQL поменять учетную запись на «Локальную систему» (англ. - Local system).

Причина №3: установка SQL Server производится файловой структурой FAT. Уже давно известно, что FAT - это не лучшее "начало дня". Поэтому, дабы решить создавшуюся проблему рекомендую просто перейти с FAT на NTFS.
Причина №4: вы не можете запустить SQL лишь по той причине, что ваш компьютер не состоит в домене! А параметр "domain" может просто отсутствовать в реестре вашей ОС Windows. (Он должен находится в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters). Решить проблему очень просто: надо создать недостающий пустой строковый параметр "domain". Алгоритм: "Пуск" - "Выполнить" - regedit - "Ок" - "Редактор реестра" - ветка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters. В правой части кликаете правой кнопкой мышки на пустом участке поля. Выпадет строчка "Создать". Наводим стрелочку на эту строчку и видим список, в котором есть строка "Строковый параметр".

Выбираем эту строку и создаем пустышку - пустой строковый параметр. (Извините за частое употребление слов "строка" и "строковый", но я делаю эту лишь для того, чтобы вы видели четкий алгоритм). Создав пустой параметр, можете смело закрывать все окна и запускать ваш SQL - всё будет работать.
Всего вам доброго и до новых встреч!

date

15.07.2020

directory

SQL Server

comments

Один комментарий

В этой статье мы рассмотрим запуск MS SQL Server в режиме минимальной конфигурации (аналог Safe Mode), использование режима выделенного административного подключения DAC (Dedicated Admin Connection), а также сценарий запуска SQL Server без tempdb (исходная база повреждена или недоступна) и ручное восстановление этой базы данных.

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

Запуск SQL Server с минимальной конфигурацией, параметр -f

Если SQL Server не запускается из-за ошибок конфигурации:

  • Отсутствует или повреждена база tempdb;
  • Ошибка в триггере или процедуре, из-за которой невозможно попасть на SQL Server;
  • Любые другие ошибки, связанные с конфигурацией SQL Server.

В этом случае необходимо запустить SQL Server в режиме минимальной конфигурации или Safe Mode. Для этого нужно добавить параметр -f в строку запуска экземпляра.

В этом режиме MSSQL запускается с определенной конфигурацией:

  • Сервер запускается в однопользовательском (монопольном) режиме single user
  • Хранимые процедуры, настроенные на запуск при старте сервера не запускаются
  • База tempdb будет сконфигурирована на минимально допустимый размер

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

В монопольном режиме вы можете восстановить повреждённую базу данных master и другиен системные базы данных.

Восстановление служебной базы данных tempdb через safe mode

Для примера мы возьмем сценарий, когда файлы базы tempdb на дисковом хранилище полностью утеряны и SQL Server не запускается.

В логах MSSQL при отсутствующей tempdb будут ошибки вида:

  1. По RDP соединитесь с сервером, где находится нужный вам экземпляр MSSQL;
  2. Откройте SQL Server Configuration Manager, в менеджере зайдите в свойства экземпляра -> Startup Parameters и добавьте параметр –f;

Также можно использовать команду NET START MSSQLSERVER /f для запуска SQL Server в режиме минимальной конфигурации. Совет. После перезагрузки экземпляра, сервер будет работать только с одним соединением. Чтобы это соединение ничего не заняло, выключите SQL Server Agent, ограничьте доступ к SQL Server через фаервол, а также убедитесь, что его не занимают другие администраторы или другие локальные приложения. Вы также можете использовать параметр -m с указанием приложения, с которого вы будете соединяться, например, -mSQLCMD или -m"SQL Server Management Studio" . Поскольку в SQL Server Configuration Manager невозможно задать параметры с кавычками, параметр -m"SQL Server Management Studio" , вы сможете использовать его только запуская SQL Server из командной строки.

sql management studio подключение к

Если вы получите подобную ошибку, значит кто-то уже занял соединение.

 SQL Serve Login failed Server is in single user mode. Only one administrator can connect

Если всё сделано правильно, вы получите доступ к серверу.

подключение к sql server в безопасном режиме

Теперь нам нужно изменить пути к испорченной базе tempdb. Выполните следующие T-SQL команды:

USE master;
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = 'E:\tempdb.mdf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = 'E:\templog.ldf');
GO

Это задаст новую конфигурацию для tempdb. Файлы tempdb будут созданы на диске E:\.

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

восстановление tempdb в sql server

Удалите параметр -f из диспетчера конфигураций SQL Server и перезагрузите экземпляр.


настройки файлов tempdb в sql server

Также для запуска SQL Server в безопасном режиме можно использовать командную строку:

"C:\Program Files\Microsoft SQL Server\MSSQL15.NODE2\MSSQL\Binn\sqlservr.exe" –c -f -sNODE2"

Это запустит экземпляр NODE2 в safe mode. Параметр -с ускоряет загрузку SQL Server при запуске из командой строки. Вы также можете указать параметр -m"SQL Server Management Studio" для ограничения подключений только из SQL студии или -mSQLCMD для подключения только из sqlcmd .

sqlservr запуск базы в безопасном режиме

Режим административного подключения (Dedicated Admin Connection) в SQL Server

Dedicated Admin Connection – это соединение в SQL Server, которое резервируется для подключения администратора. DAC используется только в том случае, если сервер находится под массивной нагрузкой, соединиться обычными способами не получается. для выхода их такой ситуации приходилось перезапускать сервер с потерей всех текущих сеансов пользователей.

По умолчанию, соединиться с помощью DAC можно только с компьютера, на котором запушен SQL Server. Разрешить удаленные DAC соединения можно через T-SQL (можно сделать это сразу после установки SQL Server).

Для начала проверим настройку remote admin connections:

SELECT value
FROM sys.configurations
where name like '%remote admin connections%'

Если в результате вы получили value = 0, то значит, удаленный DAC выключен. Чтобы включить его, выполните:

EXEC sp_configure 'remote admin connections', 1;
GO
RECONFIGURE
GO

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

Совет. Убедитесь, что в фаерволе сервера создано правила для DAC порта. По умолчанию, это порт 1434 (отличается от стандартного порта экземпляра MSSQL) . Вы можете проверить, прослушивается ли этот порт на сервере:

netstat –aon|findstr 1434

sql server upd порт 1434 netstat


Есть два варианта соединение через DAC: с помощью SQL Server Management Studio и с помощью sqlcmd. Официально, DAC соединения не поддерживаются SSMS, и при попытке подключиться к серверу через DAC, вы получите ошибку:

Dedicated administrator connections are not supported via SSMS as it established multiple connections

Но есть обходной путь, подключение через New Query. Для этого в SQL Studio нажмите на New Query и введите адрес сервера в формате admin:server\instance . “admin:” перед адресом сервера значит, что будет использоваться DAC подключение.

sql management studio подключение в режиме Dedicated Admin Connection

После того как вы нажмете Connect, вы можете получить подобную ошибку:

Failed to connect to server в mssql management studio

Проигнорируйте эту ошибку. Нужно обратить внимание на строку состояния запроса в SSMS

admin режим подключения к mssqlserver

Если вы видите состояние Connected на сервер с префиксом ADMIN:, значит вы соединились через DAC.

Чтобы соединиться с вашим сервером SQL через выделенное административное подключение в sqlcmd, используйте команду:

sqlcmd -E -A -S testnode2\node2

  • -E – использование trusted connection (Windows аутентификация);
  • -A – использовать DAC подключение;
  • -S имя инстанса sql в формате server\instance

Если всё сделано правильно, вы соединитесь с сервером

sqlcmd DAC подключение

Чтобы убедиться, что вы используете DAC, можно выполнить T-SQL запрос

SELECT
COALESCE(ses.login_name, '. ') AS 'DACUser',
ses.session_id,
ses.login_time AS 'Login time',
ses.status,
ses.original_login_name AS 'Login name'
FROM sys.endpoints AS en
JOIN sys.dm_exec_sessions ses
ON en.endpoint_id = ses.endpoint_id
WHERE en.name = 'Dedicated Admin Connection'

tsql получить статус

В результате вы получите логин, id сессии и время логина пользователя, использующего DAC.

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