Vista 刚刚完成了众多更新之一。重新启动计算机后,我尝试使用 Sql Server Management Studio 连接到 SqlServer2008 实例,但收到此错误:
连接到“...\MSSQLSERVER2008”时出错。 附加信息: 用户“...”登录失败。原因:服务器处于脚本升级模式。此时只有管理员可以连接。 (Microsoft SQL Server,错误:18401)。
按帮助键会让我进入一个互联网页面,提示没有其他信息。
感谢 Vista 和更新。任何人都有想法,因为在互联网上我找不到有关此问题的任何信息。
看起来 这位 Guy 遇到了与您相同的问题,他唯一的建议是等待几分钟,然后再尝试再次登录。
我还没有看到任何类型的有关此问题的 Microsoft 文档,也没有看到任何论坛帖子就同一问题达成任何解决方案。
检查您的事件查看器。 我遇到了同样的问题,发现(就我而言)它正在寻找一个不存在的目录来执行升级脚本。 对话框中没有任何迹象表明存在任何问题,但事件查看器清楚地显示了问题所在。
吉姆
我也有同样的问题。等到更新完成并没有帮助。解决方案是(在检查 Windows 事件日志后)设置文件夹权限。 SQL-Express 对数据库文件夹没有权限,为什么呢?从 WinXP 升级到 Win 7 的过程中,有些东西混淆了权限。就是这样。
为此页面添加评论,因为这是“脚本升级模式”的 Google 搜索结果。似乎有很多因素可以导致 SQL Server DB 进入这种模式。在过去的几个月里,我们店里就遇到过这两种情况:
日志传送 - 不记得数据库在进程的哪个点进入此模式,iirc 是在将其恢复时。解决办法就是等待。
硬盘已满 - 数据库在空间不足时进入此模式。我们目前正在清理驱动器,如果唤醒它变得具有挑战性,我们将带来更新。 更新:释放磁盘空间后,只需将数据库设置为“离线”,然后“在线”即可将其恢复。
我们遇到了同样的问题,但需要知道后台发生了什么。
数据库被置于恢复模式,因此它们必须恢复。 为了提供帮助,我们转到了 SQL Server 错误日志,该日志位于系统文件(通常是 master、model、msdb...)所在的位置,但位于日志文件夹下。 在错误日志中,我们对“恢复”一词进行了查找,并且可以观察数据库的恢复百分比。 一切恢复正常,但时间比预想的要长很多。
出现这种情况的原因是系统重启发生在重要的时刻 加载必要的软件并稍后执行所有其他操作,以便启动更快。
在您的情况下,正在发生 sql 启动,因为系统启动不需要启动 SQL。我希望您了解 DAC 帐户(专用管理员连接,Link),它具有独立的连接,并且有能力解决问题,即使整个 SQL 服务器没有响应。 SQL 服务器要求您等待或使用 DAC 帐户打开 SQL 并停止 SQL 更新。
解决方案:
1)等待后台更新完成
2)使用DAC帐户打开SQL并杀死所有正在运行的进程
这恰好发生在我身上,在 Windows Server 2022 上的 SQL Server 2022 上。
我已将本月(2024 年至 7 月)的 Windows 和 SQL 更新应用到我的被动 SQL 实例,但没有应用到我的主动 SQL 实例。为了测试更新是否良好,我重新启动了主动实例,以强制其故障转移到被动实例,这样我可以在必要时将其故障恢复到未修补的实例。
发生的情况是,故障转移工作正常,SQL Server 直接在被动实例上启动(即它成为主动实例),但它拒绝所有连接尝试,并显示以下消息:“用户‘某某’登录失败。原因:服务器处于脚本升级模式,此时只有管理员可以连接。”
我检查了任务管理器,发现 SQL Server 进程消耗了 8%,即其 12 个分配的 CPU 之一正在全速运行,并且其内存使用量正在逐渐攀升......有点像您在编译很多存储过程。
我们确实有大量的存储过程,并且我们确实运行跟踪标志 -t8032 将过程缓存的大小从 ~8GB 增加到 ~32GB,所以这可能是相关的......但在以前的故障转移中我从未见过它花了这么长时间才回来。
一共花了8分钟才完成,恢复正常。那段时间我大概8个月大了。但现在一切都很好。 :/