我有 SQL Server 2008 和一个具有完整恢复模型的数据库。通常,队列长度小于 1。但有时它会在几秒钟内增长到数千(3000 !!)。此时,许多写入查询以超时错误告终。
使用资源监视器,我发现此时 sqlserver.exe 将大量数据写入主数据库文件(MDF)。虽然它通常写入事务日志(LDF)。
使用 SQL Server Profiler,我发现当时没有运行大量查询。
我认为,这是某种SQL服务器的后台操作,但我想知道是哪种?
数据库还启用了 READ_COMMITED_SNAPSHOT 和镜像(同步模式)。这个事实可能是我问题的原因吗?
更新:我发现写入日志(而不是数据文件)是完全恢复模式的默认行为。并且日志只能通过备份事务日志操作复制到数据文件中。还是不明白为什么SQL server每十分钟复制一次日志...