【问题标题】:How to monitor changes on system tables, SQL Server database如何监控系统表、SQL Server 数据库的变化
【发布时间】:2018-04-18 12:39:05
【问题描述】:

我正在寻找一种方法来监视 SQL Server 数据库的系统表的更改。我试图在sys<..> 表上创建触发器,但查询返回错误:

对象“dbo.sysObjects”不存在或对该操作无效

我也试过这个库:https://github.com/christiandelbianco/monitor-table-change-with-sqltabledependency。它说请求的表不存在。

我可以为系统表创建触发器吗?是否有其他方法可以在 C# 中捕获系统表的更改。

我的一般目的是“实时”将数据库从一台服务器同步(或复制)到另一台服务器。您能知道其他方法吗?

【问题讨论】:

  • 这适用于 SQL Server 吗?您需要支持哪些版本?
  • 您想复制系统数据库和用户数据库吗?对不起,我只是想了解这里的最终目标
  • 此链接可能会有所帮助:sqlshack.com/how-to-track-changes-in-sql-server
  • 这是一个 xy 问题。 xyproblem.info也许你想要 ddl 触发器?
  • 使用 SQL Server 2012(或更高版本)。我需要在其他服务器上拥有数据库的完整副本。例如,我在机器 B 上有带有数据库的机器 A 和相同的数据库(之前从 A 的备份文件中恢复)。我需要立即将任何更改(数据、架构、触发器、生产者、视图)从 A 转移到 B。

标签: c# sql-server triggers synchronization monitor


【解决方案1】:

您可以将可用性组 (AG) 概念用于复制目的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-10
    • 2015-08-25
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    • 2010-11-26
    • 1970-01-01
    相关资源
    最近更新 更多