【发布时间】:2017-05-20 02:03:06
【问题描述】:
今晚我遇到了这个问题,在执行 Windows(服务器 2016)更新、Redgate SQL 备份软件更新并重新启动服务器后,我的生产服务器上的所有数据库都处于恢复挂起状态。查看日志,我发现所有数据库都因“拒绝访问”错误而无法访问。所以我认为这与运行 MSSQLSERVER 服务的用户有关。所以我明确地为该用户设置了数据和日志文件夹的权限,并重新启动了 SQL Server 服务,一切都很好了。
但是,这台服务器已经运行了很长时间 - 我还没有看到用户突然无法访问数据和日志文件夹的这种问题。有些东西必须删除这些文件夹的权限。此外,现在当我查看这些文件夹的安全选项卡时,我看到我用来运行 MSSQLSERVER 的用户是明确定义的。但是在我们的登台服务器上,它具有完全相同的配置,我没有看到用户在那里明确定义,但服务器运行得很好。
SO - 我的问题。到底发生了什么?有任何想法吗?我是否应该担心运行我的 MSSQLSERVER 服务的用户帐户现在已在我的数据和日志文件夹的“安全”选项卡中明确定义?
【问题讨论】:
-
不确定到底发生了什么,可能是很多事情,但是我昨晚在 Windows 更新后遇到了类似的问题,在运行本地实例的 Windows 10 上的两台不同的计算机上SQL Server Express 2016。在两台计算机上进行更新后,SQL Server 开始连续数小时消耗大约 30% 的 CPU,并且在整个过程中,当时所有打开的数据库都被标记为恢复挂起。作为台式机,我刚刚重新启动了实例,谢天谢地,所有数据库都恢复得很好,实际上并没有从日志中恢复。太奇怪了。
-
您是否检查过安全和系统部分中的 Windows 事件日志?解决方法暂时解除了对您的阻止,但不知道发生了什么意味着它可能会再次发生,而且手动 ACL 通常不是一个好主意。设置和配置管理器确保为服务帐户正确设置所有必要的 ACL。手动 ACL 对象意味着您将不知道您可能会丢失什么以及以后可能会破坏什么。
标签: sql-server-2016