栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在 SQL Server 中创建审计触发器

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在 SQL Server 中创建审计触发器

我只想指出几点:

使用代码生成器不能有一个过程来跟踪所有表,您需要在每个被跟踪表上生成相似但不同的触发器。这种工作最适合自动化代码生成。在您那里,我将使用 XSLT 转换从 XML 生成代码,并且可以从元数据自动生成 XML。这使您可以通过在每次更改审计逻辑/结构或添加/更改目标表时重新生成触发器来轻松维护触发器。

考虑审计的容量规划。迄今为止,跟踪所有值更改的审计表将是数据库中最大的表:它将包含所有当前数据和当前数据的所有历史记录。这样的表会使数据库大小增加 2-3 个数量级 (x10, x100)。而审计表很快就会成为一切的瓶颈:

  • 每个 DML 操作都需要在审计表中加锁
  • 由于审计,所有管理和维护操作都必须适应数据库的大小

考虑架构更改。一个名为“Foo”的表可能会被删除,稍后可能会创建一个名为“Foo”的不同表。审计跟踪必须能够区分两个不同的对象。最好使用缓慢变化的维度]方法。

考虑有效删除审计记录的需要。当您的应用程序主题策略规定的保留期限到期时,您需要能够删除到期的审计记录。现在看起来可能没什么大不了,但是 5 年后,当第一条记录到期时,审计表已增长到 9.5TB,这可能是一个问题。

考虑需要查询审计。必须准备审计表结构以有效响应审计查询。如果您的审计无法查询,则它没有价值。查询将完全由您的需求驱动,只有您知道这些,但大多数审计记录都是按时间间隔(“昨天晚上 7 点到晚上 8 点之间发生了什么变化?”)、按对象(“此记录发生了什么变化”表?”)或作者。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/371181.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号