【问题标题】:How to use system_user in audit trigger but still use connection pooling?如何在审计触发器中使用 system_user 但仍使用连接池?
【发布时间】:2010-09-10 18:23:53
【问题描述】:

我想做以下两件事:

  1. 在我的数据库表上使用审计触发器来识别哪个用户更新了什么;
  2. 使用连接池来提高性能

对于 #1,我在数据库触发器中使用“system_user”来识别进行更改的用户,但这阻止了我执行需要通用连接字符串的 #2。

有没有一种方法可以让我两全其美?

ASP.NET/SQL Server 2005

【问题讨论】:

    标签: asp.net sql sql-server connection pool


    【解决方案1】:

    很遗憾,没有。仅从数据库连接中识别用户和在用户之间共享数据库连接是互斥的。

    【讨论】:

      【解决方案2】:

      将您的 Web 应用程序中的用户存储在数据库中,并让您的触发器关闭存储的数据。让 Web 应用处理将所有日志记录信息写入数据库可能会更好。

      【讨论】:

      • 不幸的是,没有简单的方法可以从触发器中知道哪个“用户”正在进行更改。您需要记录中的辅助字段将其绑定到帐户,并且您必须使用疯狂的技巧来跟踪用户的 DELETE。
      猜你喜欢
      • 2021-08-31
      • 2018-06-04
      • 1970-01-01
      • 2012-04-28
      • 1970-01-01
      • 2020-04-18
      • 1970-01-01
      • 2018-10-24
      相关资源
      最近更新 更多