在安装 MS SQL Server 2016 期间,在加入域的开发人员/DBA 工作站客户端 PC 上,使用所有登录和其他安装程序默认值进行安装,完成失败,并出现一条非常一般的消息,仅表示主 SQL 数据库引擎服务 (MSSQLSERVER) 未启动。从 services.msc 手动启动它,人们会看到这个同样普遍的错误:
Windows could not start the SQL Server (MSSQLSERVER) on Local Computer.
For more information, review the System Event Log. If this is a
non-Microsoft service, contact the service vendor, and refer
to service-specific error code -2146885628.
在系统事件查看器 (eventvwr.msc) 中有几个故障:
#1. (1500) User Profile Service error for user NT SERVICE\MSSQLSERVER: Windows
cannot log you on because your profile cannot be loaded. Check that
you are connected to the network, and that your network is
functioning correctly.
#2. (17826) Could not start the network library because of an internal error in
the network library. To determine the cause, review the errors
immediately preceding this one in the error log.
#3. (17182) TDSSNIClient initialization failed with error 0x80092004,
status code 0x1. Reason: Initialization failed with an infrastructure
error. Check for previous errors. Cannot find object or property.
#4. (17182) TDSSNIClient initialization failed with error 0x80092004, status
code 0x80. Reason: Unable to initialize SSL support. Cannot find
object or property.
#5. (17190) Initializing the FallBack certificate failed with error
code: 1, state: 20, error number: 0.
有数百千字节的日志文件,但其中任何一个都没有明确的输出来指示根本原因。
这似乎是 SSL-init-failure 启动失败案例的变体,但我在 CTP 2.3 中遇到了同样的错误,并希望 SQL Server 安装程序能帮助我弄清楚为什么我的本地没有 Windows 10 PC office 域将接受并运行 MS SQL 2016(或 MS SQL 2014),而不会遇到这些 SQL 错误的某些变体。
SystemConfigurationCheck_Report.htm 没有错误,一切都是绿色的复选标记,并且在实际安装过程中没有报告错误。之前机器上没有其他 MS SQL 服务/实例,但是有一个 Visual Studio 2015 和 MS SQL localdb。
这是一个 SQL 错误,还是一些本地配置文件错误,还是其他什么?我在 SQL 2016 CTP 2.3 和 2.4 中尝试过这个,并且遇到了同样的问题。我决定等到现在已经发布的 SQL 2016 CTP 3,但我遇到了同样的问题。
在我看来,在 Windows 10 上,使用 sql 服务登录,NT SERVICE\MSSQLSERVER
一切都应该正常工作。但事实并非如此。
这个问题实际上归结为“为什么 MS SQL 选择一个名为的服务登录帐户NT SERVICE\MSSQLSERVER
,然后无法确保该帐户有效,并且可以使用 SSL,或者具有有效的本地配置文件,或者sqlsrvr.exe
需要运行其他任何东西? ",并且考虑到安装程序的默认行为甚至不适合 DBA 或 SQL 开发人员自己的私人工作站(非生产环境),应该怎么做呢?
有趣的。很高兴您启动了 SQL 服务。应该可以将其保留为 NT AUTHORITY\LOCALSERVICE 以在您的工作站上测试 CTP3。通常,对于域上的生产服务器,最好为 SQL Server 和代理服务预配和使用域服务帐户 - 请参阅https://www.simple-talk.com/sql/database-administration/provisioning-a-new -sql-server-instance-%E2%80%93-part-one/。