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