当前位置: 首页 > 编程笔记 >

SQL Server中使用Trigger监控存储过程更改脚本实例

丁德义
2023-03-14
本文向大家介绍SQL Server中使用Trigger监控存储过程更改脚本实例,包括了SQL Server中使用Trigger监控存储过程更改脚本实例的使用技巧和注意事项,需要的朋友参考一下

下面的Trigger用于监控存储过程的更改。
 
创建监控表:
 

CREATE TABLE AuditStoredProcedures(
 DatabaseName sysname
, ObjectName sysname
, LoginName sysname
, ChangeDate datetime
, EventType sysname
, EventDataXml xml
);
 

创建监控Trigger:

CREATE TRIGGER dbtAuditStoredProcedures
ON DATABASE
FOR CREATE_PROCEDURE, ALTER_PROCEDURE, DROP_PROCEDURE
AS
 
DECLARE @eventdata XML;
SET @eventdata = EVENTDATA();
 
INSERT INTOAuditStoredProcedures(DatabaseName,ObjectName,LoginName,ChangeDate,EventType,EventDataXml)
VALUES (
 @eventdata.value('(/EVENT_INSTANCE/DatabaseName)[1]','sysname')
, @eventdata.value('(/EVENT_INSTANCE/ObjectName)[1]', 'sysname')
, @eventdata.value('(/EVENT_INSTANCE/LoginName)[1]', 'sysname')
, GETDATE()
, @eventdata.value('(/EVENT_INSTANCE/EventType)[1]', 'sysname')
, @eventdata
);
 类似资料:
  • 本文向大家介绍SQLServer用存储过程实现插入更新数据示例,包括了SQLServer用存储过程实现插入更新数据示例的使用技巧和注意事项,需要的朋友参考一下 实现 1)有相同的数据,直接返回(返回值:0); 2)有主键相同,但是数据不同的数据,进行更新处理(返回值:2); 3)没有数据,进行插入数据处理(返回值:1)。 【创建存储过程】 【执行方式】 返回值0,已经存在相同的 返回值1,插入成功

  • 问题内容: 我有一张桌子,我需要在99%的时间内自动分配ID(其他1%似乎使用身份列来排除)。因此,我有一个存储过程来获取以下行中的下一个ID: `` 检查必须检查用户是否手动使用了ID并找到下一个未使用的ID。 当我依次调用它并返回1、2、3时,它可以正常工作。我需要做的是在多个进程同时调用此方法的情况下提供一些锁定。理想情况下,我只需要它专用于围绕此代码锁定last_auto_id表,以便第二

  • 本文向大家介绍sqlserver中存储过程的递归调用示例,包括了sqlserver中存储过程的递归调用示例的使用技巧和注意事项,需要的朋友参考一下 递归式指代码片段调用自身的情况;危险之处在于:如果调用了自身一次,那么如何防止他反复地调用自身。也就是说提供递归检验来保证适当的时候可以跳出。 以阶层为例子说存储过程中递归的调用。 递归 当创建此存储过程时候,会遇见一条报告信息

  • 问题内容: 我在MySQL数据库中存储了大约一百个例程,其中大多数都以“ root”作为定义者。 我有另一个名为“ abc”的mysql帐户,如何将所有例程的定义程序更改为“ abc”。 如果我只能以“ abc”用户而不是“ root”用户身份访问MySQL服务器,是否可以这样做? 问题答案: 据我所知:您将必须获取所有脚本的脚本文本并将其拖放/重新创建为abc。除非abc有权删除/创建过程,否则

  • 我想监控我们的集中git存储库,并在Grafana中可视化它们。最后,我想创建一个图表,它在X轴上有仓库名称,在Y轴上有磁盘空间(即条形图)。 我正在写一本《普罗米修斯出口商》。我不确定定制出口商的公制类型。 如果我设计的导出器返回以下内容: 然后,我必须定义并添加大量的量表。走这条路对吗?有更好的解决办法吗?另外,我想看看git存储库的磁盘空间是如何随时间变化的。 如果我使用直方图度量类型会更好

  • 问题内容: 我试图在postgres 9.3上使用sql调用函数内的函数。 这个问题与我的另一篇文章有关。 我写了下面的函数。到目前为止,我还没有合并任何类型的save-output(COPY)语句,因此我试图通过创建嵌套函数print-out函数来解决此问题。 以上功能有效。 尝试创建嵌套函数。 调用嵌套函数。 输出 上面给出了这个。但是,当在print_out()中将arg1,arg2替换为’