我有一个基于C#的应用程序,它在基于SQL Server 2008 R2的数据库实例上执行不同的操作。监视SQL性能和加载
这是情景:
- 有一个单独的SQL实例。
- 有多个数据库(大约50个)。
- 应用程序执行不同的操作,包括IO和CPU操作(在SQL服务器上)。
- 代码是多线程的,这意味着多个线程一次访问SQL实例。
- 在与应用程序服务器相同的计算机上,SQL服务器不是。
现在,我遇到了SQL成为瓶颈(IO和CPU)的问题,我希望能够让进程线程检查SQL在启动之前是否“过于占用”一个新的过程,如果它被占用太多,推迟一段时间过程并稍后再检查。
可以使用简单/基本SQL查询接收有关SQL实例当前负载的信息吗? CPU负载如使用率? IO负载如磁盘r/w队列?
任何帮助,将不胜感激。
吉拉德。
您是否使用过SQL Profiler来识别造成瓶颈的原因?优化服务器的工作可能比管理应用程序的负载要好。 – Tony