Windows не удалось запустить SQL Server (MSSQLSERVER) на локальном компьютере... (код ошибки 3417)

По некоторым причинам я переместил эту папку: (Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL) на другой диск, а затем вернул ее в одно и то же место, но сервер sql перестает работать, показывая эту ошибку при попытке запустить ее снова:

Windows не удалось запустить SQL Server (MSSQLSERVER) на локальном Компьютер. Для получения дополнительной информации просмотрите журнал системных событий. Если это является службой, отличной от Microsoft, обратитесь к поставщику услуг и обратитесь к служебный код ошибки 3417.

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

Папка не сжата или не зашифрована.

My sql server version is 2012:
Microsoft SQL Server Management Studio      11.0.3128.0
Microsoft Analysis Services Client Tools    11.0.3128.0
Microsoft Data Access Components (MDAC) 6.1.7601.17514
Microsoft MSXML             3.0 4.0 6.0 
Microsoft Internet Explorer         9.0.8112.16421
Microsoft .NET Framework            4.0.30319.18047
Operating System                6.1.7601

Спасибо за вашу любезную помощь заранее.

Ответ 1

Очень просто решить эту проблему.

Просто откройте окно RUN (Window + R) и введите services.msc:

Окно Services.msc

Найдите SQL в столбце имени и щелкните по нему правой кнопкой мыши.

щелкните правой кнопкой мыши на SQL как на скриншоте

Вы получите вариант свойства, нажмите на свойства.

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

Выберите учетную запись локальной системы

После этого зайдите снова в окно services.msc. и щелкните правой кнопкой мыши на sql и нажмите кнопку Пуск.

И наконец, службы SQL Server были запущены успешно. наслаждайтесь и продолжайте учиться.

Ответ 2

Убедитесь, что вы сжимаете драйвер или папку, в которую вы помещаете файл .mdf.

Если это так, plesae перейдите к драйверу или папке, измените параметр сжатия на

Свойства → Продвинуто и отключено флажок "Сжатие содержимого для сохранения дискового пространства".

После чего вы сможете снова запустить службу.

Ответ 3

В моем конкретном случае я исправил эту ошибку, посмотрев в Event Viewer, чтобы получить представление об источнике проблемы:

enter image description here

Затем я выполнил действия, описанные в разделе Восстановление основной базы данных в SQL Server.

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

В моем конкретном случае команда для перестройки базы данных master была:

C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\SQLServer2012>setup /ACTION=rebuilddatabase /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS=mike /sapwd=[insert password]

Обратите внимание, что это вернет SQL-сервер к его настройкам по умолчанию, поэтому вам следует надеяться, что вы сможете восстановить основную базу данных из E:\backup\master.bak. Я не смог найти этот файл, поэтому прикрепил существующие базы данных (просматривая существующие файлы .mdf), и все вернулось в нормальное состояние.

После исправления всего, я создал план обслуживания для еженедельного резервного копирования всего, включая основную базу данных.

В моем конкретном случае эта проблема была вызвана тем, что на жестком диске Seagate появились поврежденные сектора через пару месяцев после истечения 2-летнего гарантийного срока. Большинство накопителей Seagate, которые у меня когда-либо были, закончились или до, или вскоре после гарантии - так что теперь я избегаю Seagate как чумы !!

Ответ 4

Недавно у меня была такая же ошибка. Я проверил папку "Журнал экземпляра моего сервера".

x:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\

и я нашел эти ошибки в журналах

Starting up database 'master'.
Error: 17204, Severity: 16, State: 1.
FCB::Open failed: Could not open file
x:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\master.mdf for file number 1.  OS error: 5(Access is denied.).
Error: 5120, Severity: 16, State: 101.
Unable to open the physical file "E:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\master.mdf". Operating system error 5:    "5(Access is denied.)".
Error: 17204, Severity: 16, State: 1. FCB::Open failed: Could not open file E:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\mastlog.ldf for file number 2.  OS  error: 5(Access is denied.).
Error: 5120, Severity: 16, State: 101.  Unable to open the physical file "E:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\mastlog.ldf". Operating system error 5: "5(Access is denied.)".
SQL Server shutdown has been initiated

Так что для меня это было легко исправить. Я просто добавил правильные права доступа к этим файлам в учетную запись службы sql-сервера. Я надеюсь, что это поможет

Ответ 5

Что такое системный журнал событий?

Вы пытались отремонтировать: Центр установки сервера Sql → Обслуживание → Ремонт

enter image description here

Ответ 6

Это обычно происходит, когда master.mdf или mastlog.ldf повреждаются. Чтобы решить проблему goto следующий путь C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL, вы найдете папку "Данные шаблона", скопируйте файл master.mdf и mastlog.ldf и замените его на C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Data folder. Это оно. Теперь запустите службу MS SQL, и вы закончили

Ответ 7

Просмотрите средство просмотра событий, оно часто дает вам представление об источнике проблемы:

enter image description here

Ответ 8

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

enter image description here

Ответ 9

Я получил эту ошибку сегодня. И выше ответы не помогли мне. Я получал эту ошибку при попытке запустить службу SQL Server (SQLEXPRESS) в службах (services.msc).

Когда я проверил журнал ошибок в расположении C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\Log, обнаружился порт, связанный с TCP/IP.

2018-06-19 20: 41: 52.20 spid12s Инициализация TDSSNIClient не удалась с ошибкой 0x271d, код состояния 0xa. Причина: не удалось инициализировать прослушиватель TCP/IP. Была предпринята попытка получить доступ к сокету способом, запрещенным его правами доступа.

Недавно я запустил образ MSSQLEXPRESS в моем док-контейнере, который использовал тот же порт TCP/IP, который вызвал эту проблему.

enter image description here

Итак, я просто сбросил свой TCP/IP, выполнив следующую команду.

netsh int ip reset resetlog.txt

enter image description here

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

Ответ 10

Убедитесь, что оба диска имеют один и тот же раздел (например, FAT или NTFS, предпочтительно NTFS), также убедитесь, что он имеет учетную запись NETWORK SERVICE, имеет доступ.

Ответ 11

Восстановление базы данных исправил это и для меня. Также необходимо было восстановить старую базу данных из резервной копии, поскольку она повреждена во время отключения питания... Процедура copy master.mdf не работала для меня.

Ответ 12

У меня была такая же проблема перед

код ошибки 3417: SQL SERVER не может запустить основную базу данных, без master db SQL SERVER не может запускаться MSSQLSERVER_3417

Основная база данных регистрирует всю информацию на системном уровне для системы SQL Server. Сюда входят метаданные экземпляра, такие как учетные записи входа в систему, конечные точки, связанные серверы и настройки конфигурации системы. В SQL Server системные объекты больше не хранятся в основной базе данных; вместо этого они хранятся в базе данных ресурсов. Кроме того, master - это база данных, которая записывает наличие всех других баз данных и расположение этих файлов базы данных и записывает информацию об инициализации для SQL Server. Поэтому SQL Server не может запускаться, если основная база данных недоступна MSDN Master DB , поэтому вам нужно перенастроить все настройки после восстановления master db

решения

  • заменить файлы master mdf и ldf теми же файлами из другого экземпляра sql Server, если его версия
  • Восстановить системные базы данных refrence
  • переустановить сервер sql

Ответ 13

Я скопировал master.mdf и mastlog.ldf с другого компьютера (к счастью, у нас много клиентов с одинаковой конфигурацией, в противном случае, возможно, будут нужны данные шаблона). Я скопировал поврежденный master.mdf и mastlog.mdf. После этого я заменил плохих одних с другого компьютера. И это сработало. Конечно, мне нужно было запустить MSSQLSERVER Service. Но после этого у меня возникла проблема в том, что пользователь уже существует, но осиротел (код ошибки 15023), я выполнил запрос

ИСПОЛЬЗОВАТЬ имя_базы_данных EXEC sp_change_users_login 'Auto_Fix', 'username'

после этого все работало гладко. Надеюсь, это поможет вам и большое спасибо за эту тему, спас меня:)

Ответ 14

Просто переименуйте текущий ErrorLog в любое другое имя, например Errorlog _Old, и измените любой старый файл журнала на файл журнала ошибок

попробуйте запустить службы SQL-сервера.. Это. он будет работать.

Файл журнала ошибок сервера Sql поврежден. поэтому он дает проблему, даже если у вас есть все разрешения.. когда вы ее удаляете. будет создан новый файл.

Ответ 15

Я столкнулся с этой проблемой после изменения расположения базы данных. И я решил это, переместив системные базы данных обратно в их расположение по умолчанию. Хотя я рекомендую не перемещать системные базы данных, такие как master и model, в другое место. Но если вы хотите, то можете обратиться к этой статье: https://docs.microsoft.com/en-us/sql/relational-databases/databases/move-system-databases?view=sql-server-2017.