由于我们不将应用程序的用户实现为sql Server中的用户,因此当应用程序服务器连接到数据库时,每个应用程序始终使用相同的凭据附加到每个数据库.
这提出了一个审计问题.使用触发器,我们要存储每个更新,插入和删除并将每个属性归因于特定的用户.一个可能的解决方案是将“用户更新”列添加到每个表中,并每次更新.这意味着每个表上都有一个新列,每个存储过程都有一个新的参数.这也意味着你只能做软删除.
而不是这样,我建议使用连接字符串的Application Name属性,并用触发器中的App_Name()属性读取它.我用一个简单的应用程序测试了它,它似乎工作(格式可以这样:App = MyApp | User = 100).
你们的问题是,这是一个坏主意,你有更好的一个吗?
解决方法
我用这个
SET CONTEXT_INFO.这只是你需要的