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

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

错误1069:由于login失败,服务没有启动。

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

我该如何解决这个问题?

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

步骤是:

  • 右键单击服务mmc中的服务
  • 点击属性
  • 点击login选项卡
  • 密码字段将显示在其中的条目…
  • 删除两个密码字段
  • 点击“确定”

这应该重新授予访问该服务,它应该重新启动。 奇怪的?

注意:如果问题在几个小时或几天之后回来,那么您可能有一个组策略覆盖您的设置,并且它马上就来。

虽然(“以系统运行”)起作用,但应该被告知这意味着从最小权限types账户转到拥有全部权限的账户。 这是非常不推荐的设置最佳实践或安全明智的。

如果你知道自己在做什么,并且知道你的SQL Server将总是在一个孤立的环境中运行(也就是不在酒店或机场的wifi上),这可能是好的,但是这会创build一个非常真实的攻击向量,如果打开互联networking。

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

这发生在我身上。 该域上的策略取消了SQL Server用户帐户的“作为服务login”权限。 您可以使用JLo的解决scheme解决此问题,但不会专门解决组策略问题,下次在组织策略刷新时将返回。

导致此问题的具体策略是:在计算机configuration – > Windows设置 – >安全设置 – >本地策略 – >用户权利指派:作为服务login

您可以通过从命令行运行命令“rsop”来查看哪些策略应用于您的机器。 按照上面列出的策略的path,您将看到其当前值以及哪个GPO设置值。

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

  1. 在Services.MSC中,单击“login”选项卡,添加具有最低权限和密码的用户(在引发login错误的服务上)
  2. 通过启动Sql Server以pipe理员身份运行

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

简短的回答:
在SQL Server上安装远程服务器pipe理工​​具(这是Windows Server的可选function),重新启动,然后运行SQL Serverconfigurationpipe理器,访问login帐户以“NT Service …”开头的每个服务的服务设置,清除密码字段并重新启动服务。 在封面下,SQL Serverconfigurationpipe理器将为这些虚拟帐户分配“login即服务”权限,然后您就可以开始使用了。

TL;博士;

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

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

并且,默认情况下,SQL Server 2012安装程序在“虚拟帐户”(NT Service \ prefix,例如NT Service \ MSSQLServer)中运行服务。这些服务类似于本地计算机帐户,不是域帐户,但仍不能将其分配给作为服务权限,如果您的服务器join到域中,SQL Server安装程序将尝试在安装时分配权限,同时当您更改login帐户时,SQL Serverconfigurationpipe理工具也会尝试分配权限。

而美的catch-22就是这样的:SQL Server工具依赖于RSAT(的某个组件)作为服务分配login。 如果您没有在您的成员服务器上安装RSAT,则SQL Serverconfigurationpipe理器会以静默方式尝试应用此设置(尽pipe它运行的是花费繁琐的预安装validation),并最终导致无法启动的服务。

在SQL Server和Virtual Account doc的暴风雪中能find的这个要求的一个提示是: https : //msdn.microsoft.com/en-us/library/ms143504.aspx#New_Accounts ,searchRSAT 。

一种可能是当安装sql server数据工具bi时,而sql server已经设置好了。

解决scheme: – 1.Just修复设置实例的SQL服务器

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