相信很多人用ProfilerTrace之类的工具抓Trace的时候都看到过ApplicationName栏位显示“.NetSqlClientDataProvider“而不是真实的应用程序名称。如果一个数据库被多个应用程序共享使用,其中一个应用导致的性能问题时,如果只是看到一个”.NetSqlClientDataProvider“对于DBA就比较痛苦。
其实可以在DBConnection中使用ApplicationName属性(应用程序的名称,或者“.NetSqlClientDataProvider”(如果不提供应用程序名称)),这样在profilerTrace的ApplicationName就会出现正确的应用程序名称,DBA就可以直接联系应用程序的开发者共同解决问题,而不需要通过很多的代码分析是哪个应用。
比如:
SQLProfilerTrace的结果:
另外在其他的DMV或者系统存储过程比如sp_who2都可以看到正确的应用程序名称。所以DBA应该建议开发使用这个属性。
本文转自 lzf328 51CTO博客,原文链接:
http://blog.51cto.com/lzf328/1312528