AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 22502
Accepted
jgardner04
jgardner04
Asked: 2012-08-15 20:28:31 +0800 CST2012-08-15 20:28:31 +0800 CST 2012-08-15 20:28:31 +0800 CST

服务器审核的 QUEUE_DELAY 选项如何工作

  • 772

我正在研究 SQL Server 审核的工作原理,并希望了解 QUEUE_DELAY 选项的工作原理。BOL 将选项定义为:

确定在强制处理审计操作之前可以经过的时间(以毫秒为单位)。值 0 表示同步传送。可设置的最小查询延迟值为 1000(1 秒),这是默认值。最大值为 2,147,483,647(2,147,483.647 秒或 24 天 20 小时 31 分钟 23.647 秒)。指定无效号码将引发错误 MSG_INVALID_QUEUE_DELAY。

这些操作在哪里排队 tempdb、系统表等?我可以查询该位置以查看队列中有多少项目吗?如果 ON_FAILURE 选项设置为关闭服务器,这些项目是否会在服务器重新启动并且可以再次访问该位置时记录到审核中?

sql-server audit
  • 4 4 个回答
  • 2366 Views

4 个回答

  • Voted
  1. Best Answer
    Jon Seigel
    2012-08-16T09:39:14+08:002012-08-16T09:39:14+08:00

    SQL Server 审计利用 2008 年引入的新扩展事件体系结构。

    如果您查看以下 DMV,您可以看到启动审计时出现的相关结构。

    select * from sys.dm_server_audit_status
    select * from sys.dm_xe_session_events
    select * from sys.dm_xe_session_targets
    

    请注意,审计有自己的一组特殊目标,不能直接通过扩展事件使用。target_data如果您开始生成一些审计事件,您会看到这些事件显示在实际目标中,但与环形缓冲区目标不同,出于安全原因,它们不会出现在 DMV 的列中。

    话虽如此,审计会话目标如何在内部工作还有些不清楚(并且显然没有记录)。基于审计基于扩展事件这一事实,并给出审计失败时的行为选项,我假设审计目标只是修改过的环形缓冲区目标,不会将事件数据公开回 SQL Server。虽然这个解释对我来说最有意义,但老实说,我不是 100% 确定的。希望有更多内部知识的人可以发表评论。

    我可以查询该位置以查看队列中有多少项目吗?

    据我所知,不是;再次,可能是出于安全原因。

    如果 ON_FAILURE 选项设置为关闭服务器,这些项目是否会在服务器重新启动并且可以再次访问该位置时记录到审核中?

    有许多场景无法记录事件。如果我关于命中内存缓冲区的假设是正确的,那么失败的事件将被丢弃,因为关闭将释放所有 SQL Server 内存。任何没有进入磁盘的东西都会丢失。

    • 6
  2. mrdenny
    2012-08-15T21:55:28+08:002012-08-15T21:55:28+08:00

    SQL Server 将从捕获的数据中对写入进行排队,并且仅在指定的时间量过后才将其写入日志。

    • 2
  3. Randy Smith
    2012-08-20T04:54:24+08:002012-08-20T04:54:24+08:00

    我对你的情况很感兴趣。我们编写软件 LOGbinder SQL,它可以翻译 SQL 审计日志并将它们发送到日志管理/SIEM 系统。我们通常建议在运行我们的软件的另一台服务器上使用文件共享,以将对 SQL 服务器的影响降至最低。如果该服务器有一段时间不可用,最好测试一下会发生什么。这涉及使用 SQL 服务器上的本地文件夹。出于性能原因,我们不建议使用 Windows 事件日志。

    • 0
  4. Mulie
    2018-10-23T12:23:29+08:002018-10-23T12:23:29+08:00

    为队列延迟设置的值通常是安全性和性能之间的折衷。如果发生服务器故障,缓冲区中但尚未刷新到目标的结果将丢失。如果队列延迟设置为零,则同步写入会随着事件的发生而发生。这避免了在服务器故障时丢失事件的机会,但会影响服务器性能。

    • 0

相关问题

  • SQL Server - 使用聚集索引时如何存储数据页

  • 我需要为每种类型的查询使用单独的索引,还是一个多列索引可以工作?

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 死锁的主要原因是什么,可以预防吗?

  • 如何确定是否需要或需要索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何查看 Oracle 中的数据库列表?

    • 8 个回答
  • Marko Smith

    mysql innodb_buffer_pool_size 应该有多大?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    从 .frm 和 .ibd 文件恢复表?

    • 10 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve