上周末,我运行的一个网站停止运行,每次向网站发出请求时,都会在事件查看器中记录以下错误:
事件 ID:9001
数据库“数据库名称”的日志不可用。检查事件日志以获取相关错误消息。解决所有错误并重新启动数据库。
该网站托管在专用服务器上,因此我可以通过 RDP 进入服务器并四处浏览。该LDF文件存在于数据库中的C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA文件夹,但试图做从Management Studio中的结果数据库的任何工作,在对话框中报告了同样的错误- 9001:日志数据库不可用...
这是我第一次收到此错误,并且我在此专用 Web 服务器上托管此站点(和其他站点)已有两年多了。
据我了解,此错误表示日志文件已损坏。我能够通过分离数据库然后恢复几天前的备份来使网站重新上线,但我担心这个错误表明一个更险恶的问题,即硬盘驱动器故障。
我通过电子邮件向网络托管公司的支持人员发送了电子邮件,这是他们的回复:
事件日志中似乎没有任何其他原因表明原因,因此日志可能已损坏。目前内存的资源为 87%,这也可能有影响,但不太可能。
日志可以“损坏”吗?
我的问题:接下来我应该采取哪些步骤来诊断这个问题?我如何确定这是否确实是硬件问题?如果是,除了更换磁盘之外还有其他选择吗?
谢谢
mrd*_*nny 16
99%以上的数据库损坏问题都是存储系统做的。剩下的一半问题是由于内存不足,另一半是 SQL Server 中的错误。
很可能是存储问题。
如果它再次发生,对数据库运行 DBCC CHECKDB,这将为您提供有关损坏的更多信息,以及问题是否可以在不进行还原的情况下修复。您可能需要在紧急模式下使数据库联机以对数据库运行 checkdb。
内存使用率为 87% 与问题无关。SQL Server 将按照设计将内存一直运行到 100%(或接近它)。
我能够通过在 Management Studio 中使数据库脱机然后立即将其重新联机来解决此问题。dbcc checkdb引发了错误,这些错误在执行此操作后得到解决。我不能说为什么这有效,只是因为它确实有效。
小智 5
我最近也遇到了这个问题,经过大量研究后,当数据库设置为 AUTO CLOSE 时,这似乎很常见。我将所有数据库设置为 AUTO CLOSE = FALSE。这从一个数据库开始,然后转到两个数据库,下一个是所有数据库。我只是重新启动了 SQL Server 实例服务,而不是恢复数据库。解决该症状的另一种方法是使有问题的数据库脱机并重新联机。
| 归档时间: |
|
| 查看次数: |
78649 次 |
| 最近记录: |