【发布时间】:2018-04-18 12:39:05
【问题描述】:
我正在寻找一种方法来监视 SQL Server 数据库的系统表的更改。我试图在sys<..> 表上创建触发器,但查询返回错误:
对象“dbo.sysObjects”不存在或对该操作无效
我也试过这个库:https://github.com/christiandelbianco/monitor-table-change-with-sqltabledependency。它说请求的表不存在。
我可以为系统表创建触发器吗?是否有其他方法可以在 C# 中捕获系统表的更改。
我的一般目的是“实时”将数据库从一台服务器同步(或复制)到另一台服务器。您能知道其他方法吗?
【问题讨论】:
-
这适用于 SQL Server 吗?您需要支持哪些版本?
-
您想复制系统数据库和用户数据库吗?对不起,我只是想了解这里的最终目标
-
这是一个 xy 问题。 xyproblem.info也许你想要 ddl 触发器?
-
使用 SQL Server 2012(或更高版本)。我需要在其他服务器上拥有数据库的完整副本。例如,我在机器 B 上有带有数据库的机器 A 和相同的数据库(之前从 A 的备份文件中恢复)。我需要立即将任何更改(数据、架构、触发器、生产者、视图)从 A 转移到 B。
标签: c# sql-server triggers synchronization monitor