位置: 编程技术 - 正文

SQL Server实现用触发器捕获DML操作的会话信息【实例】(sql server 用法)

编辑:rootadmin

推荐整理分享SQL Server实现用触发器捕获DML操作的会话信息【实例】(sql server 用法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql server使用sql语句,sql server 使用方法,sql server使用sql语句,sql server应用实例,sql server使用教程,使用sql server,使用sql server,sql server使用sql语句,内容如对您有帮助,希望把文章链接给更多的朋友!

需求背景

上周遇到了这样一个需求,维护人员发现一个表的数据经常被修改,由于历史原因;文档缺少;以及维护人员的经常变更,导致他们对系统也业务也不完全熟悉,他们也不完全清楚哪些系统和应用程序会对这个表的数据进行操作。现在他们想找出有哪些服务器,哪些应用程序会对这个表进行INSERT、UPDATE操作。那么问题来了,怎么去解决这个问题呢?

解决方案

由于数据库版本是标准版,我们选择了使用触发器来捕获进行DML操作的会话的相关信息,例如,Host_Name、Program_Name等 ,选择触发器是因为简单直接。我们先创建一个表名为TEST的表,假设我们想监控有哪些应用服务器,以及那些应用程序会对表TEST进行INSERT、UPDATE操作。

那么我们接下来在表上面新增几个字段 [HOST_NAME]、[PROGRAM_NAME]、LOGIN_NAME用来记录最后一次修改该记录的会话信息,另外创建触发器TRG_TEST来更新这几个字段

SQL Server实现用触发器捕获DML操作的会话信息【实例】(sql server 用法)

接下来,我们来简单测试一下,如下所示,分布插入、更新一条记录

如下所示,因为我只是用SSMS更新,插入数据,所以捕获的是Microsoft SQL Server Management Studio - Query。

这这种方式还有一个弊端,那就是如果应用程序的SQL,写得不够健壮的话,那么增加字段就会导致以前的应用程序出现问题,例如,应用程序有下面这样的SQL,增加字段后,它就会报错。

所以这种方案不太可行,会增加应用程序出现Bug的风险。那么其实我们可以新建一个表,每当原表TEST有INSERT、UPDATE操作时,通过触发器捕获会话进程信息,然后插入该表(注意,新建的表包含源表的主键字段,例如这里TEST的主键字段为OBJECT_ID,那么我们下面就包含OBJECT_ID)

在运行一小段时间后,如果已经找出了哪些服务器、哪些应用程序会对这些表操作后,那么就必须马上删除这些表和触发器,避免长时间运行,影响性能。

以上这篇SQL Server实现用触发器捕获DML操作的会话信息【实例】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

SQL Server获取磁盘空间使用情况 对于DBA来说,监控磁盘使用情况是必要的工作,然后没有比较简单的方法能获取到磁盘空间使用率信息,下面总结下这些年攒下的脚本:最常用的查看

SQL Server数据库定时自动备份 SQLServer数据库定时自动备份,供大家参考,具体内容如下在SQLServer中出于数据安全的考虑,所以需要定期的备份数据库。而备份数据库一般又是在凌晨

实现SQL Server 原生数据从XML生成JSON数据的实例代码 实现SQLServer原生数据从XML生成JSON数据的实例代码SQLServer是关系数据库,查询结果通常都是数据集,但是在一些特殊需求下,我们需要XML数据,最近这些

标签: sql server 用法

本文链接地址:https://www.jiuchutong.com/biancheng/324376.html 转载请保留说明!

上一篇:SQL Server中对数据截取替换的方法详解(sql数据对比语句)

下一篇:SQL Server获取磁盘空间使用情况(sql server获取字段长度)

  • 个人所得税清算怎么操作
  • 所得税申报表的营业成本包括费用吗
  • 纳税人资格是什么意思
  • 会计所得税分录?
  • 盈余公积计提比例必须是10%么
  • 增值税发票抵扣勾选平台
  • 开发票是否享受优惠政策
  • 意外伤害险进项税转出
  • 股权转让中土地增值是否交纳个人所得税
  • 债券投资损失准备累计已计提
  • 土地评估费计入什么会计科目
  • 存货盘亏的分录怎么写
  • 收取境外服务费收入会计分录
  • 企业工会经费不足,可以向企业拨款吗
  • 个人在电商平台购买跨境商品需要缴纳什么税
  • 个体户注销未分配利润要交个税吗
  • 非独立核算的分公司如何报税
  • 金税盘开票怎么改成含税金额
  • 本月应该确认收入,但是一般下月才开票该怎么处理?
  • 银行摘要冲账是什么意思
  • 税控盘超期还能清卡吗
  • 原材料明细账余额为零怎么写
  • 资本化利息支出是什么意思
  • 发票丢了还可以重开吗
  • 网上申报城建税及附加怎么操作
  • 民营医院实收资本科目
  • 建筑劳务公司开票税率是多少
  • 办公家具折旧年限及计算方法
  • 应付票据贴现息计入
  • 临时文件夹无写入权限这是什么原因
  • 华为路由器怎么设置wifi密码
  • php正则函数内容匹配
  • php fgets函数的用法
  • 确认的政府补助怎么入账
  • 在建工程计提减值准备计入什么科目
  • 收到的税费返还减少说明什么
  • 梵净山原名
  • 资产变现率减资产负债率
  • php的session
  • 计提费用收到发票后会计分录
  • 房产税计入哪里
  • phpcms怎么用
  • 转账有手续费没有
  • wordpress运行缓慢
  • 浅谈建筑地基基础加固施工技术亲
  • 简单的记账方法叫什么
  • 不抵扣勾选的发票在哪里查看
  • 机票改签费可以报销吗
  • 在windowsxp的应用程序中,经常
  • 库存现金月末是怎么样结账的
  • 合理损耗应计入成本吗
  • 公司给员工的购房补贴
  • 免税企业税金及附加计算
  • 进项税额转出的所有会计分录
  • 出口退税率为0的账务处理
  • 债务重组损失计入什么科目2020
  • 固定资产盘亏是营业外支出吗
  • 开出地税发票(工程款)怎么做账?
  • 欠钱打官司后利息怎么算
  • 以前年度损益调整账务处理分录
  • 固定资产计提折旧的会计科目
  • 进项增值税发票抵扣期限
  • 期末留抵税额和上期留抵税额
  • 个人独资企业要报税吗
  • windows在哪里添加打印机
  • ubuntu 16.04.6安装教程
  • macbook launch
  • bios报警声
  • 如何查看文件系统
  • linux网络编程宋敬彬pdf
  • dl是什么文件
  • 升级win10怎么激活
  • msstat.exe - msstat是什么进程 有什么用
  • win7系统怎么给文件夹设置密码
  • 如何找?
  • win7连接路由器设置
  • unity 3d教程
  • javascript教程 csdn
  • 对于python程序,对代码缩进的要求非常严格
  • 税务局登记是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设