35

由于某些原因,我将此文件夹 : ( 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

提前感谢您的帮助。

4

20 回答 20

65

解决这个问题非常简单。

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

Services.msc 窗口

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

右键单击 SQL,如屏幕截图所示

在此处输入图像描述

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

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

选择本地系统帐户

在此处输入图像描述

之后再次进入services.msc窗口。并右键单击sql 并单击 start

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

于 2017-12-10T17:44:42.837 回答
17

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

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

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

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

于 2013-09-25T03:12:54.890 回答
12

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

net start mssqlserver /T902

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

我希望这能帮到您..

于 2020-01-10T06:52:13.803 回答
8

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

在此处输入图像描述

然后,我按照Rebuilding Master Database in SQL Server中概述的步骤进行操作。

注意:首先进行一些良好的备份。擦除主数据库后,您必须通过浏览到.mdf files.

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

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文件),一切都恢复了正常。

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

在我的特殊情况下,这整个问题是由希捷硬盘驱动器在其 2 年保修期到期后几个月出现坏扇区引起的。我曾经拥有的大多数希捷硬盘都在保修前或保修后不久到期 - 所以我现在像瘟疫一样避免希捷!

于 2014-09-20T21:32:37.530 回答
5

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

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

于 2017-03-04T15:52:14.733 回答
4

这通常发生在 master.mdf 或 mastlog.ldf 损坏时。为了解决这个问题,到下面的路径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 服务,你就完成了

于 2014-07-21T09:36:33.950 回答
3

系统事件日志在说什么?

有没有试过修复:Sql Server安装中心->维护->修复

在此处输入图像描述

于 2013-06-24T10:57:58.553 回答
3

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

在此处输入图像描述

于 2018-04-18T11:25:00.667 回答
2

我今天收到这个错误。以上答案对我没有帮助。当我尝试在 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 侦听器。试图以访问权限禁止的方式访问套接字。

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

在此处输入图像描述

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

netsh int ip reset resetlog.txt

在此处输入图像描述

重置完成后,我不得不重新启动机器,当我尝试再次启动 SQLEXPRESS 服务时,它启动成功。希望能帮助到你。

于 2018-06-19T15:55:57.283 回答
0

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

于 2015-03-13T05:48:19.893 回答
0

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

于 2013-06-24T10:47:12.887 回答
0

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

于 2019-04-03T16:54:24.987 回答
0

Just rename the current ErrorLog to any other name like Errorlog _Old and change any old Log file to Error log file

try to start the SQL server services.. That's it. it will work..

Sql server error log file got corrupted. that is why it gives the problem even when you have all permissions.. when you delete it. new file will be generated.

于 2017-10-30T06:32:04.233 回答
0

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

USE Database_name EXEC sp_change_users_login 'Auto_Fix', 'username'

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

于 2017-10-12T17:07:50.700 回答
0

我以前有同样的问题

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

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

解决方案

  • 用来自另一个 sql Server 实例的相同文件替换主 mdf 和 ldf 文件,只要其版本引用相同
  • 重建系统数据库参考
  • 重新安装sql server
于 2015-10-05T17:53:23.760 回答
0

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

  1. 开始 > 服务
  2. 右键单击 SQL 服务器 > 属性
  3. 登录
  4. 重新输入凭据并申请
  5. 立即启动服务
于 2020-06-18T11:48:23.717 回答
0

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

看图片:

在此处输入图像描述

于 2020-07-20T13:46:56.777 回答
0

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

做了什么:

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

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

于 2021-01-29T19:32:21.013 回答
0

就我而言,问题是关于评估期到期。我还浏览了 StackOverFlow 的这个线程。您可以通过转到Event Viewer --> Windows Log (Application)然后搜索您的错误 ID 来调查您的问题。有关在事件查看器中查看错误 ID 的分步指南,请访问此...

于 2022-01-17T14:44:18.047 回答
0

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

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

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

如何修复 SQL 错误 3417

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

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

于 2020-10-30T09:53:23.383 回答