Windows无法在本地计算机上启动SQL Server(MSSQLSERVER)...(错误代码3417)

时间:2013-06-24 10:15:19

标签: sql-server

由于某些原因,我将此文件夹:( Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL)移动到另一个驱动器,然后将其返回到同一位置,但sql server已停止工作,在尝试再次启动时显示此错误:

  

Windows无法在Local上启动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

感谢你提前得到你的帮助。

20 个答案:

答案 0 :(得分:14)

检查是否确实压缩了放置.mdf文件的位置的驱动程序或文件夹。

如果是这样,plesae转到驱动程序或文件夹,通过

更改压缩选项
  

属性 - >高级并取消选中“压缩内容以节省磁盘空间”复选框。

完成上述操作后,您应该可以再次启动该服务。

答案 1 :(得分:11)

解决这个问题很简单。

只需打开 RUN窗口(Window + R)并输入services.msc

Services.msc window

在名称列中找到SQL并右键单击它。

right click on SQL as in screenshot

您将获得属性选项,单击属性。

将打开一个新窗口,您必须单击登录选项卡。然后选择本地系统帐户。然后申请并且好。

Select Local system Account

之后再来一次services.msc窗口。并且右键单击在sql上,单击开始

最后,SQL Server服务已成功启动。享受并不断学习。

答案 2 :(得分:4)

在我的特定情况下,我通过查看事件查看器来修复此错误,以获得有关问题根源的线索:

enter image description here

然后我按照Rebuilding Master Database in SQL Server中列出的步骤进行了操作。

  

注意:首先进行一些好的备份。擦除master数据库后,您必须通过浏览.mdf files再次附加到所有现有数据库。

在我的特定情况下,重建master数据库的命令是:

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

请注意,这会将SQL Server重置为其默认值,因此您必须希望可以从E:\backup\master.bak还原master数据库。我找不到这个文件,所以附加了现有的数据库(通过浏览现有的.mdf文件),一切都恢复了正常。

修好所有内容后,I created a maintenance plan to back up everything, including the master database, on a weekly basis

在我的特定情况下,整个问题是由于希捷硬盘驱动器在其2年保修期到期后的几个月内出现坏道引起的。我所拥有的大多数希捷驱动器在保修期之前或之后不久就会到期 - 所以我现在就像瘟疫一样避开希捷!!

答案 3 :(得分:3)

我最近遇到了同样的错误。我检查了文件夹Log of my Server实例。

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 server服务帐户。 我希望它会有所帮助

答案 4 :(得分:2)

什么是系统事件日志?

您是否尝试修复: Sql Server安装中心 - >维护 - >修复

enter image description here

答案 5 :(得分:2)

以管理员身份打开cmd后运行此命令

net start mssqlserver /T902

此命令称为跟踪标志902。它用于绕过脚本升级模式。每当您尝试启动sql服务时,它还会查找脚本升级。当脚本升级失败时,您的服务将无法启动。因此,只要我们遇到这样的升级脚本失败问题并且SQL无法启动,就需要使用跟踪标志902启动SQL。

希望这对您有帮助。

答案 6 :(得分:1)

这通常发生在master.mdf或mastlog.ldf损坏时。为了解决问题转到以下路径C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL,您将找到一个文件夹“Template Data”,复制master.mdf和mastlog.ldf并将其替换为C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Data folder。而已 。现在启动MS SQL服务,你就完成了

答案 7 :(得分:1)

查看事件查看器,它通常会为您提供问题根源的线索:

enter image description here

答案 8 :(得分:1)

在我的情况下,由于评估许可证已过期,我必须升级 SQL Server。

enter image description here

答案 9 :(得分:1)

我今天遇到此错误。以上的答案对我没有帮助。尝试在Services(services.msc)中启动SQL Server(SQLEXPRESS)服务时遇到此错误。

当我在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侦听器。试图以某种方式访问​​套接字   禁止其访问权限。

最近我在使用相同TCP / IP端口的docker容器中运行MSSQLEXPRESS映像,导致了此问题。

enter image description here

所以,我要做的是,通过执行以下命令来重置TCP / IP。

netsh int ip reset resetlog.txt

enter image description here

完成重置后,我必须重新启动计算机,并且当我尝试再次启动SQLEXPRESS服务时,它已成功启动。希望对您有所帮助。

答案 10 :(得分:0)

现在有几次,我在 Windows 更新后遇到过 MS SQL Server 因此错误而失败的各种实例。上面的大多数快速修复对我都不起作用。

做了什么:

  • 将所有生产数据库复制到某个安全的地方
  • 通过添加/删除程序删除所有 SQL Server
  • 获取最新的 SQL Server Express 或 Dev 并安装它
  • 将数据库移到他们的家中并重新附加它们。

对我来说,这是最快的解决方案。试图找到错误的原因并修复它是一个下午的谷歌搜索模糊错误消息。但是YMMV。

答案 11 :(得分:0)

确保两个驱动器具有相同的分区 - (如FAT或NTFS,最好是NTFS)也确保他的NETWORK SERVICE帐户具有访问权限。

答案 12 :(得分:0)

获得此错误代码3417 的原因可能如下:

  • 一个原因可能是由于数据文件夹中的网络帐户 程序文件。
  • 另一个原因可能是由于某些Windows 设置有所更改。

示例:如果出于某些原因,您已将该文件夹(Program Files \ Microsoft SQL Server \ MSSQL11.MSSQLSERVER \ MSSQL)移动到另一个位置,然后将其返回到同一位置。因此,尽管将其返回到同一位置,但服务器可能会停止工作并在尝试再次启动它时显示错误代码3417。

如何修复SQL错误3417

  • 转到“ C:\ Program Files Microsoft SQLServerMSSQL.1MSSqLData”
  • 安全/权限设置
  • 网络服务帐户
  • 添加网络服务帐户
  • 然后再次检查所有

here所述,您也可以尝试使用此第三方工具。

答案 13 :(得分:0)

转到服务,并检查SQL Server(MSSQLSERVER)服务是否正在运行,将其停止,然后启动您的SQL Server(SQLEXPRESS)服务,该服务应该可以工作。

查看图片:

enter image description here

答案 14 :(得分:0)

重新输入凭据将有助于启动服务:

  1. 开始>服务
  2. 右键单击“ SQL Sever”>“属性”
  3. 登录
  4. 重新输入凭据并应用
  5. 立即启动服务

答案 15 :(得分:0)

更改数据库位置后遇到此问题。我通过将系统数据库移回默认位置来解决了该问题。尽管我建议不要将像master和model这样的系统数据库移到其他位置。但是如果您愿意,可以参考这篇文章:https://docs.microsoft.com/en-us/sql/relational-databases/databases/move-system-databases?view=sql-server-2017

答案 16 :(得分:0)

只需将当前的ErrorLog重命名为Errorlog _Old等任何其他名称,并将任何旧的日志文件更改为错误日志文件

尝试启动SQL服务器服务..就是这样。它会工作..

Sql server错误日志文件已损坏。这就是为什么即使你拥有所有权限它也会出现问题..当你删除它时。将生成新文件。

答案 17 :(得分:0)

我从另一台计算机上复制了一个master.mdf和mastlog.ldf(幸运的是,我们有很多具有相同配置的客户端,否则可能需要模板数据)。我备份了损坏的master.mdf和mastlog.mdf。之后,我用另一台计算机上的那些替换了坏的。它奏效了。我当然需要启动MSSQLSERVER服务。但是,之后我遇到用户已经存在但孤立的问题(错误代码15023),我执行了查询

USE Database_name EXEC sp_change_users_login'Auto_Fix','username'

之后,一切顺利。希望这对你有所帮助,非常感谢这个帖子,救了我:)

答案 18 :(得分:0)

我之前有同样的问题

错误代码3417:SQL SERVER无法启动master数据库, 没有master db SQL SERVER无法启动 MSSQLSERVER_3417

  

master数据库记录SQL Server系统的所有系统级信息。这包括实例范围的元数据,例如登录帐户,端点,链接服务器和系统配置设置。在SQL Server中,系统对象不再存储在master数据库中;相反,它们存储在资源数据库中。此外,master是记录所有其他数据库的存在以及这些数据库文件的位置的数据库,并记录SQL Server的初始化信息。因此,如果master数据库不可用,则SQL Server无法启动   MSDN Master DB    因此您需要在还原主数据库后重新配置所有设置

解决方案

  • 使用来自另一个sql Server实例的相同文件替换master mdf和ldf文件,只要它的版本相同reference
  • 重建系统数据库refrence
  • 重新安装sql server

答案 19 :(得分:0)

数据库重建也为我修复了它。还必须从备份中恢复旧数据库,因为它在停电期间已损坏... 复制master.mdf程序对我不起作用。