怎样实时监控sqlserver数据库内记录的变化

怎样实时监控sqlserver数据库内记录的变化,第1张

创建表,存储每天的表空间占用情况

CREATE TABLE [dbo][t_rpt_table_spaceinfo](

[table_name] [sysname] NOT NULL,

[record_date] [date] NOT NULL,

[record_time] [time](7) NOT NULL,

[rows_count] [bigint] NULL,

[reserved] [bigint] NULL,

[data_size] [bigint] NULL,

[index_size] [bigint] NULL,

[unused] [bigint] NULL,

CONSTRAINT [PK_t_rpt_table_spaceinfo] PRIMARY KEY CLUSTERED

(

[table_name] ASC,

[record_date] ASC,

[record_time] ASC

)

)

2 新建作业

新建作业,作业计划每天凌晨运行一次,每天记录表占用的空间情况,存储到上一步建立的表中

作业中执行的T-SQL代码为:

SET NOCOUNT ON

/创建临时表,存放用户表的空间及数据行数信息/

CREATE TABLE #tablespaceinfo

(

nameinfo VARCHAR(500) ,

rowsinfo BIGINT ,

reserved VARCHAR(20) ,

datainfo VARCHAR(20) ,

index_size VARCHAR(20) ,

unused VARCHAR(20)

)

DECLARE @tablename VARCHAR(255);

/使用游标,循环得到表空间使用情况/

DECLARE Info_cursor CURSOR

我的思路是:在数据库A中创建一个触发器,再创建一张和a表结构一样的监视表,只要a表发生变化,就自动的往监视表中插入一条记录,这样你写的程序只要定时的去查询下监视表就可以知道a表有没有发生什么变化了

以上就是关于怎样实时监控sqlserver数据库内记录的变化全部的内容,包括:怎样实时监控sqlserver数据库内记录的变化、如何监听数据库中一条记录的value是否有变化、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9466014.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存