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

Kar*_*rdo 14 sql-server

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

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
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助.

小智 17

解决这个问题非常简单.

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

Services.msc窗口

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

右键单击SQL,如截图所示

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

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

选择本地系统帐户

之后再来service.msc窗口.然后右键单击 sql并单击start.

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

  • 不适合我 (3认同)
  • 谢谢SSSSSSSSSSSSSS (2认同)
  • 多年来一切都运转良好,然后有一天繁荣起来。这个答案挽救了这一天,谢谢! (2认同)

小智 14

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

如果是这样,plesae转到驱动程序或文件夹,更改压缩选项

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

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


Abd*_*inu 7

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

net start mssqlserver /T902
Run Code Online (Sandbox Code Playgroud)

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

我希望这能帮到您..


soh*_*iby 5

当 master.mdf 或 mastlog.ldf 损坏时,通常会发生这种情况。为了解决该问题,请转到以下路径C:\\Program Files\\Microsoft SQL Server\\MSSQL10.SQLEXPRESS\\MSSQL,在那里您将找到一个文件夹 \xe2\x80\x9d Template Data \xe2\x80\x9d,复制 master.mdf 和 mastlog.ldf 并将其替换为C:\\Program Files\\Microsoft SQL Server\\MSSQL10.SQLEXPRESS\\MSSQL\\Data folder. 就是这样。现在启动 MS SQL 服务就完成了。

\n


Con*_*ngo 5

在我的特殊情况下,我通过在事件查看器中查看问题的根源来解决此错误:

在此处输入图片说明

然后,我按照在SQL Server重建主数据库中概述的步骤进行操作。

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

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

C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\SQLServer2012>setup /ACTION=rebuilddatabase /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS=mike /sapwd=[insert password]
Run Code Online (Sandbox Code Playgroud)

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

修复所有问题之后,我创建了一个维护计划,每周备份所有内容,包括主数据库

在我的特定情况下,整个问题是由希捷硬盘在2年保修期过后的几个月内出现坏道引起的。我曾经拥有的大多数Seagate硬盘最终都将在保修之前或之后不久到期-因此,我现在像瘟疫一样避免使用Seagate!


小智 5

我最近也遇到了同样的错误。我已经检查了我的服务器实例的文件夹日志。

x:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\
Run Code Online (Sandbox Code Playgroud)

我在日志中发现了这个错误

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
Run Code Online (Sandbox Code Playgroud)

所以对我来说这是一个简单的修复。我刚刚向 sql server 服务帐户添加了对此文件的正确访问权限。我希望它会有所帮助


Mic*_*hie 0

确保两个驱动器具有相同的分区 - (例如 FAT 或 NTFS,最好是 NTFS)还要确保他的网络服务帐户具有访问权限。