我工作的组织将我们的Java应用程序连接到SQL Server数据库,每个数据库都有自己唯一的应用程序ID。但是,应用程序本身的个人用户(网站用户等)都将通过此单个应用程序ID访问数据库,从而使审计变得困难(例如,我们无法判断哪个Java应用程序用户删除了一行,只是有人使用了申请确实)。
我查看了JDBC Connection类中的setClientInfo()
和getClientInfo()
。显然,微软目前的JDBC驱动程序目前不支持此功能。
这是否意味着SQL Server本身也不支持此功能? (我目前正在尝试使用DataDirect的第三方驱动程序,据说它确实支持它,但我不知道这些信息是否实际上已传播到数据库和/或由数据库记录。)
如果支持,那么在DBMS中存储/记录的ClientUser信息(由setClientInfo()
设置)在哪里?
我感谢任何想法或反馈。