【问题标题】:How to check which IIS application is calling the database如何检查哪个 IIS 应用程序正在调用数据库
【发布时间】:2016-12-02 09:04:04
【问题描述】:

我在一个 IIS 上有 2 个应用程序(网站),它们正在调用同一个远程数据库。 SQL Server 中是否有任何东西可以在存储过程中给我谁在调用:)?

【问题讨论】:

  • 或许为每个网站创建一个 SQL 用户名。
  • 任何其他事情:)

标签: asp.net sql-server iis


【解决方案1】:

APP_NAME() 如果由应用程序设置,则返回当前会话的应用程序名称。识别应用程序的另一种方法是通过 CRUD 操作记录应用程序名称,以便在表中添加一个附加字段来保存应用程序名称。

【讨论】:

  • if set by the application, 如何以及从何处设置应用程序名称?
  • conn_string = "提供者=yyyy;数据源=x.x.x.x;初始目录=dbname;" & _ "用户ID=xxx;密码=xxx;应用名称=Testapp;"
【解决方案2】:

您需要修改您的连接字符串并添加应用程序名称

数据源=myServer;
初始目录=myDB;
用户 ID=我的用户名;
密码=我的密码;
应用程序名称=myApp;

现在当您查询 sys.processes 时,程序名称将是应用程序名称

参考:
http://johnnycoder.com/blog/2006/10/24/take-advantage-of-application-name/
https://www.connectionstrings.com/sql-server/

如果您使用的是 VB.NET,请查看此线程:
How to set "Application Name" in ADODB connection string

如果不是以上将起作用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 2019-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多