由于登录失败,SQL Server 2012无法启动

问题描述 投票:64回答:7

我最近在新的Windows 7安装上安装了Microsoft SQL Server 2012,但每当我想运行服务器时,我都会收到以下错误:

错误1069:由于登录失败,服务未启动。

以下用户配置为启动服务:NT Service\MSSQL$SQLEXPRESS

我该如何解决这个问题?

sql-server permissions installation sql-server-2012
7个回答
184
投票

答案可能与完整的SQL Server(NTService \ MSSQLSERVER)的问题相同,这是重置密码。具有讽刺意味的是,没有密码。

步骤是:

  • 右键单击服务mmc中的服务
  • 单击属性
  • 单击“登录”选项卡
  • 密码字段似乎包含条目...
  • 删除两个密码字段
  • 点击“确定”

这应该重新授予对服务的访问权限,并且应该再次启动。奇怪的?

注意:如果问题在几小时或几天后发回,那么您可能有一个组策略覆盖您的设置,它即将到来并再次立即采取行动。


14
投票

这发生在我身上。域上的策略正在取消SQL Server用户帐户的“作为服务登录”权限。您可以使用JLo的解决方案解决此问题,但不会专门解决组策略问题,并且它将在下次在计算机上刷新组策略时返回。

导致该问题的具体政策是:在,计算机配置 - > Windows设置 - >安全设置 - >本地策略 - >用户权限分配:作为服务登录

通过从命令行运行命令“rsop”,可以查看正在应用于您的计算机的策略。按照上面列出的策略的路径,您将看到其当前值以及哪个GPO设置该值。


11
投票

虽然(“作为SYSTEM运行”)工作,但应该告知人们这意味着从最小权限类型帐户转到具有全世界所有权限的帐户。这不是推荐的设置最佳实践或安全性方面。

如果您知道自己在做什么,并且知道您的SQL Server将始终在隔离的环境中运行(即不在酒店或机场的wifi上运行)它可能很好,但这会创建一个非常真实的攻击向量,如果在打开时会完全危及机器互联网络。

这似乎是微软的错误,人们应该意识到所发布的变通方法的含义。


4
投票

简短回答: 在SQL Server上安装远程服务器管理工​​具(它是Windows Server的可选功能),重新启动,然后运行SQL Server配置管理器,访问登录帐户以“NT Service ...”开头的每个服务的服务设置,清除密码字段并重新启动服务。在幕后,SQL Server配置管理器将为这些虚拟帐户分配“登录即服务”权限,您就可以了。

tl;博士

Windows域的默认设置和SQL Server 2012的默认安装之间有一个catch-22。

如上所述,默认的Windows域设置确实会阻止您通过本地计算机上的组策略编辑来定义“作为服务登录”(至少通过GUI;如果您安装Powershell ActiveDirectory模块(通过远程服务器管理工​​具下载)你可以通过脚本来完成它。

并且,默认情况下,SQL Server 2012安装程序在“虚拟帐户”(NT Service \前缀,例如NT Service \ MSSQLServer)中运行服务。这些服务类似于本地计算机帐户,而不是域帐户,但您仍然无法为其分配登录如果服务器加入域,则作为服务权限.SQL Server安装程序尝试在安装时分配权限,SQL Server配置管理工具同样尝试在更改登录帐户时分配权限。

而美丽的catch-22是这样的:SQL Server工具依赖于(某些组件)RSAT将登录作为服务权限分配。如果您的成员服务器上没有安装RSAT,则SQL Server配置管理器会无提示地尝试应用该设置(尽管它运行的所有华丽的安装前验证都是如此),并且您最终得到的服务无法启动。

我在SQL Server和虚拟帐户doc的暴风雪中能够找到的这一要求的一个暗示是:https://msdn.microsoft.com/en-us/library/ms143504.aspx#New_Accounts,搜索RSAT。


4
投票

在我的sql server中执行以下更改之后解决我的问题。

步骤是:

  • 右键单击服务mmc中的服务
  • 单击属性
  • 单击“登录”选项卡
  • 密码字段似乎包含条目..
  • 删除两个密码字段
  • 点击“确定”

2
投票

我有一个类似的问题,通过以下解决:

  1. 在Services.MSC中,单击“登录”选项卡,然后添加具有最小权限和密码的用户(在抛出登录错误的服务上)
  2. 通过启动Sql Server以管理员身份运行

如果用户是域用户,请使用域用户名和密码


1
投票

一种可能是在安装sql server数据工具时,虽然已经设置了sql server。

解决方案: - 1.只需使用设置实例修复sql server

如果解决方案不起作用,那么值得您花时间干预services.msc

© www.soinside.com 2019 - 2024. All rights reserved.