从Classic ASP连接时,SQL Server中的应用程序名称

Din*_*s35 4 sql-server connection-string asp-classic

在我的连接字符串中,我添加了Application Name = XX,因此我可以从SQL服务器中识别进程的来源(sp_who2 - ProgramName列).从.NET连接时,这很有用.当我使用Server.CreateObject("ADODB.Connection")通过Classic ASP连接时,我的ProgramName被SQL Server识别为"Internet信息服务".

有没有人知道配置某些东西的方法(连接字符串?IIS?sql?)所以SQL Server看到了我的应用程序名称?

Aar*_*and 6

只需添加此参数:

Application Name=My app name;
Run Code Online (Sandbox Code Playgroud)

这是一个例子.除非您真的使用SQL 2000或更早版本,否则我不建议使用DSN或旧式{SQL Server}驱动程序.

conn_string = "Provider=SQLNCLI10;Data Source=x.x.x.x;Initial Catalog=dbname;" & _
              "User ID=xxx;Password=xxx;Application Name=my funky chicken;"
Run Code Online (Sandbox Code Playgroud)

您可能没有最新版本的SQL Native Client,因此您可能需要回退到与版本无关的提供程序名称:

conn_string = "Provider=SQLNCLI;Data Source=x.x.x.x;Initial Catalog=dbname;" & _
              "User ID=xxx;Password=xxx;Application Name=my funky chicken;"
Run Code Online (Sandbox Code Playgroud)

如果您没有安装SQL Native Client,可以从此处安装(x86 | x64),或者回退到OLEDB:

conn_string = "Provider=SQLOLEDB.1;Data Source=x.x.x.x;Initial Catalog=dbname;" & _
              "User ID=xxx;Password=xxx;Application Name=my funky chicken;"
Run Code Online (Sandbox Code Playgroud)

我测试了上面的所有三个连接字符串,并验证了Profiler(ApplicationName),sp_who2(ProgramName)和sys.dm_exec_sessions(program_name)显示"我的时髦鸡".

  • +1 这是相关链接:http://msdn.microsoft.com/en-us/library/ms130822.aspx (2认同)