【发布时间】:2018-03-30 20:34:45
【问题描述】:
我有一个我无法以任何方式修改的数据库(“DatabaseA”),但我需要检测向其中的表添加的行,然后向表中添加一条日志记录在单独的数据库(“DatabaseB”)中以及有关将行添加到 DatabaseA 的用户的一些信息。 (所以它需要是事件驱动的,而不仅仅是定期扫描 DatabaseA 表。)
我知道通常情况下,我可以向 DatabaseA 添加一个触发器并运行一个存储过程来将日志记录添加到 DatabaseB 表中。但是如何在不修改 DatabaseA 的情况下做到这一点?
我可以在 DatabaseB 中做任何我喜欢做的事情。
编辑以回答问题/cmets ...
数据库 A 和 B 是 MS SQL 2008/R2 数据库(已标记),用户通过专有的 Windows 桌面应用程序(不是我自己的)与数据库进行交互,每个用户都有一个与其应用程序会话关联的 SQL 登录名。
有什么想法吗?
【问题讨论】:
-
您使用的是什么数据库服务器(MySQL、SQL Server、Postgres 等)?用户签名是直接与数据库交互,还是通过应用程序?
-
@JRLambert 我用这些细节更新了这个问题。谢谢。
-
所有用户都有自己的数据库凭据吗?还是应用程序有凭据?
-
始终指定您使用的软件版本。不同的版本有不同的功能。
-
那么你知道所有可以插入到你想监控的表中的存储过程名称吗?
标签: sql-server sql-server-2008 sql-server-2008-r2