我在 Windows Server 2008 R2 Web 版本上运行了 SQL Server 2008 R2 Express。除了 SQL 服务不会在服务器启动时自动启动外,其他一切都运行良好。SQL 服务、代理和服务器浏览器都设置为自动。服务器是全新安装的,仅包含 IIS 和 SQL 服务器。服务器启动后,我可以手动启动服务,它运行良好。
我在日志中看到的唯一错误是“SQL Server(SQLEXPRESS)服务因服务特定错误而终止,请求的地址在其上下文中无效。” 详细地说,有一个 param2:%%10049。
由于这是一台生产服务器,任何帮助都将不胜感激。每次重新启动时,网站都会关闭,直到我手动启动 SQL 服务。
答案1
该错误是来自 Windows 事件日志还是 SQL Server 日志?(这听起来像是 Windows 服务错误,而不是 SQL 报告并保存在其错误日志中的那种详细错误。)Windows 事件日志可通过事件查看器查看,SQL Server 日志可通过 SSMS 查看。
很少会出现一个日志或另一个日志中没有像样的错误消息的情况。如果您还没有查看过,请查看 SQL Server 错误日志(包括服务失败时的旧日志),看看启动失败和启动成功之间有何不同。
WAG:是否有什么东西会阻止对文件的独占访问?比如启动时扫描的病毒扫描程序,或者需要一段时间才能上线的 SAN 连接?
答案2
根据您提供的有关 VPN 地址的附加信息以及原始问题的消息,听起来您走在正确的轨道上。
您的服务器上应该安装了 SQL Server 配置管理器。打开它并找到
SQL Server 网络配置
-> “数据库名称”的协议
在屏幕右侧,打开 TCP/IP 的属性
打开后,转到 IP 地址选项卡。
看看您是否可以找到您的 VPN 地址的 IP 地址条目并将“已启用”更改为“否”。
希望这能让数据库在重启时自行启动。请告诉我。
原始答案:我不知道为什么 MSSQL 在初始启动时会出现故障,但您可以解决该问题直到找到完整的答案。
打开服务,调出 SQL 服务器服务的属性,设置恢复选项,并在第一次、第二次和后续故障时将选项设置为“重新启动服务”。
这应该可以让您的 SQL 在重启后启动并运行,直到您找到最初启动失败的根本原因。