SQL 服务器监控数据从遗留应用程序插入、更新和删除
SQL Server Monitor Data Inserts, Updates and Deletes from Legacy Application
我们目前有一个使用 SQL Server 2014 作为数据库的遗留桌面应用程序。我们想在我们没有源代码的软件之外添加一些额外的功能。
在桌面软件中,如何监控在完成某项任务时,对数据库中的不同表插入、更新或删除了哪些数据?这将允许我们以与桌面应用程序当前相同的方式将数据添加到数据库。
我们已尝试 SQL Profiler,但似乎无法获取信息。
有没有办法从一个数据库中获取两个时间点之间的差异?
您可以使用响应创建、更新自动执行的触发器,Delete.you 可以为每个 table 创建触发器,它会给您所需的信息
CREATE TRIGGER [schema_name.]trigger_name
ON table_name
AFTER {[INSERT],[UPDATE],[DELETE]}
[NOT FOR REPLICATION]
AS
{sql_statements}
We have tried SQL Profiler but can't seem to get the information
^ 这是正确的做法。触发器只会向您显示查询的最终结果,而不是查询的实际内容 运行 - 可能会有计算、中间步骤等
当您说“似乎无法获取信息”时,您到底是什么意思? Profiler 将能够向您显示针对 SQL 实例
的所有查询 运行 的文本
我们目前有一个使用 SQL Server 2014 作为数据库的遗留桌面应用程序。我们想在我们没有源代码的软件之外添加一些额外的功能。
在桌面软件中,如何监控在完成某项任务时,对数据库中的不同表插入、更新或删除了哪些数据?这将允许我们以与桌面应用程序当前相同的方式将数据添加到数据库。
我们已尝试 SQL Profiler,但似乎无法获取信息。
有没有办法从一个数据库中获取两个时间点之间的差异?
您可以使用响应创建、更新自动执行的触发器,Delete.you 可以为每个 table 创建触发器,它会给您所需的信息
CREATE TRIGGER [schema_name.]trigger_name
ON table_name
AFTER {[INSERT],[UPDATE],[DELETE]}
[NOT FOR REPLICATION]
AS
{sql_statements}
We have tried SQL Profiler but can't seem to get the information
^ 这是正确的做法。触发器只会向您显示查询的最终结果,而不是查询的实际内容 运行 - 可能会有计算、中间步骤等
当您说“似乎无法获取信息”时,您到底是什么意思? Profiler 将能够向您显示针对 SQL 实例
的所有查询 运行 的文本