SQL Profiler Application Name栏位避免显示Net SqlClient Data Provider

相信很多人用ProfilerTrace之类的工具抓Trace的时候都看到过ApplicationName栏位显示“.NetSqlClientDataProvider“而不是真实的应用程序名称。如果一个数据库被多个应用程序共享使用,其中一个应用导致的性能问题时,如果只是看到一个”.NetSqlClientDataProvider“对于DBA就比较痛苦。

其实可以在DBConnection中使用ApplicationName属性(应用程序的名称,或者“.NetSqlClientDataProvider”(如果不提供应用程序名称)),这样在profilerTraceApplicationName就会出现正确的应用程序名称,DBA就可以直接联系应用程序的开发者共同解决问题,而不需要通过很多的代码分析是哪个应用。

比如:

SQL Profiler Application Name栏位避免显示Net SqlClient Data Provider

SQLProfilerTrace的结果:

SQL Profiler Application Name栏位避免显示Net SqlClient Data Provider

另外在其他的DMV或者系统存储过程比如sp_who2都可以看到正确的应用程序名称。所以DBA应该建议开发使用这个属性。