相关疑难解决方法(0)

Service Broker 是审计 SQL Server Express 上数据更改的最佳选择吗?

我的项目是在不延长事务的情况下审计我们系统中的 5 到 10 个现有表。无论使用什么方法,它都必须适用于 SQL Server Express 2005 到(最终)2016。

我已经完成了关于变更数据捕获 (CDC) 和变更跟踪的研究。更改跟踪不捕获特定更改,CDC 仅在企业版中可用。

然后我偶然发现了 Service Broker。我对 Service Broker 很感兴趣,所以我开始创建一个原型。Service Broker 工作正常,但在我的其他两个帖子中收到的答案让我相信这可能不是正确的方法。太复杂了,没什么。我仍处于分析阶段并尝试不同的事情作为我分析的一部分。

现在服务代理的结果并不令人信服……将 105000 个项目批量更新到价格表需要 38 秒,而队列(审计部分)的处理需要 17 秒……但 38 秒包括插入到 2#temp 表中的双重处理,然后用于插入到 TMPins 和 TMPdel。所以我想我可以把它减半......我现在质疑服务代理的使用......从逻辑上讲,触发器可能只需要将信息直接插入审计表中就需要相同的时间...... .

澄清一下,当我说批量插入时,它不是“批量插入”功能。我说的是一次性插入或更新的大量数据。在更新价格表中的 105000 件商品时,我想审核发生的更改。当我说发生的变化时,我决定在审计表中插入新值(如果它是插入或更新)或插入所有其他字段为空的主键(对于已删除的记录)......所以是的!它可以在数据加载后但我不想丢失任何审计(我不希望交易无序传递)

另外两篇文章将有助于了解我正在尝试做的事情和我尝试过的事情的背景:

我重视每一个想法。

trigger sql-server audit sql-server-express

4
推荐指数
1
解决办法
4067
查看次数

标签 统计

audit ×1

sql-server ×1

sql-server-express ×1

trigger ×1