gpt4 book ai didi

sql-server-2008 - 如何在单个查询中使用更改跟踪从 SQL Server 数据库获取所有更改(或避免与数据库闲聊)?

转载 作者:行者123 更新时间:2023-12-04 06:57:52 25 4
gpt4 key购买 nike

我知道可以使用更改跟踪获取对 SQL Server 2008 中单个表的更改。
但是,我一直无法找到一种可接受的方式来在单个查询中查询整个数据库中的所有更改。

这可能吗?

您对编写一些动态 SQL 并使用 exec 来完成这项工作有何看法?有没有这方面的例子你可以指给我看?

是否有其他替代方法来监视 SQL Server 2008 中的特定列/行数据更改,它比编写和维护触发器需要更少的努力?我们的数据库有 1500 多个表,这不是一个选项。

谢谢

最佳答案

当我开始使用 CDC 时,此 URL 帮助我开始使用:http://www.mssqltips.com/sqlservertip/1819/using-change-tracking-in-sql-server-2008/

CDC 的缺点是您无法看到谁更改了数据,只能看到数据已更改以及以前的数据是什么。 CDC 仅适用于 Enterprise、Developer 和 Evaltion 版本。

如果我必须审核特定表的数据更改,您还可以使用自 SQL Server 2008 以来可用的审核功能。可以为数据库启用审核,您可以查看谁执行了哪个命令。缺点是您只能看到执行的命令,而看不到执行命令之前存在的数据。

该网站可帮助您决定哪种功能更适合您的情况。它描述了不同的方法及其优缺点:http://solutioncenter.apexsql.com/tag/methods-for-auditing-sql-server/

我总是避免使用触发器,因为它们会减慢插入、更新和删除记录的过程。

我希望这对你有所帮助

关于sql-server-2008 - 如何在单个查询中使用更改跟踪从 SQL Server 数据库获取所有更改(或避免与数据库闲聊)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9467424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com