检测和解决 SQL Server 2000 SP 4 中的延迟和阻塞 I/O 问题
2007-05-17 09:37:02 来源:WEB开发网所记录的错误信息提供了以下信息:
• ### occurrences — 未能在 15 秒钟以内完成读或写操作的 I/O 请求的数量。
• File information — 完整的文件名、数据库名和受影响文件的 DBID。
• File handle — 该文件的操作系统句柄。可以通过调试器和其他实用工具来使用这一信息跟踪 IRP 请求。
• Offset — 上一个阻塞或延迟 I/O 的偏移量。可以通过调试器和其他实用工具来使用这一信息跟踪 IRP 请求。(注:在记录该消息的时候,该 I/O 可能不再阻塞或延迟。)
记录与报告
I/O 的报告和记录是按照文件执行的。延迟和阻塞 I/O 请求的检测和报告是两个不同的操作。
检测(记录)是在 SQL Server 内部的两个位置处理的。第一个位置是在 I/O 实际完成的时候。如果请求花费了 15 秒钟以上,则发生记录操作。第二个位置是在延迟写入器进程执行的时候。当延迟写入器执行时,它包含新的对所有挂起的数据和日志文件 I/O 请求进行检查的操作,并且,如果已经超过了 15 秒钟的阈值,则会发生记录操作。
报告是按照不低于 5 分钟的时间间隔执行的。当对文件进行下一次 I/O 请求时,发生报告操作。如果记录操作已经发生,并且自上一次报告发生以来已经过去了 5 分钟或更长时间,则向错误日志中写入新的报告(上面显示的错误消息)。
15 秒钟的阈值当前是不可调整的。尽管不推荐这样做,但您可以用跟踪标志 830 完全禁用延迟和阻塞 I/O 检测。在 SQL Server 启动期间设置启动参数 –T830 可以禁用延迟/阻塞 I/O 检测。使用 dbcc traceon(830, -1) 可以禁用对当前正在运行的 SQL Server 实例的检测。只有重新启动 SQL Server,Dbcc traceon 才会生效。
- ››解决Zimbra邮件服务器证书过期办法
- ››解决ios的UITableView内容无法刷新的方法
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››解决dedeCMS后台验证码不显示
- ››解决“您尝试打开的文件*.xls的格式与文件扩展名指...
- ››解决Word2010中加入打印全屏预览按钮
- ››sqlserver安装和简单的使用
- ››解决win7右下角音量控制图标、电池图标消失的脚本...
- ››解决MYSQL导入脚本数据中文乱码
- ››解决linux下SVN迁移时忘记了用户名和密码的办法
更多精彩
赞助商链接