问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQL SERVER 写一个触发器 如果该表被修改则获取修改表的计算机名和IP...

发布网友 发布时间:2022-04-27 12:37

我来回答

1个回答

热心网友 时间:2022-04-09 13:23

在SQLServer上得到客户端信息(操作的数据库名,计算机名,用户名,网卡物理地址,IP地址,程序名)
create proc p_getlinkinfo
@dbname sysname=null,--要查询的数据库名,默认查询所有数据库的连接信息
@includeip bit=0--是否显示IP地址,因为查询IP地址比较费时,所以增加此控制
as
declare @dbid int
set @dbid=db_id(@dbname)
create table #tb(id int identity(1,1),dbname sysname,hostname nchar(128),loginname nchar(128),net_address nchar(12),net_ip nvarchar(15),prog_name nchar(128))
insert into #tb(hostname,dbname,net_address,loginname,prog_name)
select distinct hostname,db_name(dbid),net_address,loginame,program_name from master..sysprocesses
where hostname<>'' and (@dbid is null or )
if @includeip=0 goto lb_show --如果不显示IP地址,就直接显示
declare @sql varchar(500),@hostname nchar(128),@id int
create table #ip(hostname nchar(128),a varchar(200))
declare tb cursor local for select distinct hostname from #tb
open tb
fetch next from tb into @hostname
while @@fetch_status=0
begin
set @sql='ping '+@hostname+' -a -n 1 -l 1'
insert #ip(a) exec master..xp_cmdshell @sql
update #ip set where hostname is null
fetch next from tb into @hostname
end
update #tb set net_ip=left(a,patindex('%:%',a)-1)
from #tb a inner join (
select hostname,a=substring(a,patindex('Ping statistics for %:%',a)+20,20) from #ip
where a like 'Ping statistics for %:%') b on a.hostname=b.hostname
lb_show:
select id,数据库名=dbname,客户机名=hostname,用户名=loginname
,网卡物理地址=net_address,IP地址=net_ip,应用程序名称=prog_name from #tb
GO

//显示所有本机的连接信息:
exec p_getlinkinfo
//显示所有本机的连接信息,包含ip地址:
exec p_getlinkinfo @includeip=1
//显示连接指定数据库的信息:
exec p_getlinkinfo @dbname=表名,@includeip=1

SQL SERVER 写一个触发器 如果该表被修改则获取修改表的计算机名和IP...

在SQLServer上得到客户端信息(操作的数据库名,计算机名,用户名,网卡物理地址,IP地址,程序名)create proc p_getlinkinfo@dbname sysname=null,--要查询的数据库名,默认查询所有数据库的连接信息@includeip bit=0--是否显示IP地址,因为查询IP地址比较费时,所以增加此控制asdeclare @dbid intset @dbid=db...

sqlserver 触发器 怎么获取更新前的值

更新的动作你可以分2步理解,先delete ,再insert所以,前的值在 deleted里 后的值在 inserted里 create trigger t_ATDATEState_updateon listfor updateasif update(ATDATEState)begin declare @b_ATDATEState nvarchar(200) --修改之前的 declare @S_ATDATEState nVARCHAR(200) --修改之后的 d...

如何在oracle触发器器中得到操作当前表的登陆用户及其机器地址_百度...

用触发器的话 CREATE TRIGGER 名成 ON 表名 FOR UPDATE as select * from 表名 where 主键= ?

sqlserver 中创建触发器execute master有什么作用

after等价于for,是事后触发。instead of则会取代原来的操作,例如在你的例子里,将不再执行插入操作,而是执行触发器里的操作。execute as是用来定义模块的执行上下文 EXECUTE AS { CALLER | SELF | OWNER | 'user_name' } 其中CALLER指模块调用方,SELF指创建或更改模块的用户,OWNER指模块的当前所有...

sql如何取得触发器update前的值

1、首先,创建一个触发器,要求是在AddTable表上创建update触发器,如下图所示,然后进入下一步。2、其次,触发器将触发,并显示:the table was updated,如下图所示,然后进入下一步。3、接着,对AddTable表中的数据执行更改操作,如下图所示,然后进入下一步。4、然后,完成上述步骤后,会发现...

SQL SERVER如何实现两台电脑互相连接?

例如:新增A数据库一个表的数据后,同时新增B数据库一个表数据。可以在A数据库触发器写语句,反之B操作A就是在B数据库里面写触发器。首先要执行 sp_addlinkedserver '服务器ip' 然后开始写语句 insert into ip.库名字.dbo.table select * from inserted SQLSERVER 触发器就会将一个服务器上的数据库...

SQL中触发器有什么作用

如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束。触发器的优点如下: 触发器是自动的:它们在对表的数据作了任何修改(比如手工输入或者应用程序采取的操作)之后立即被激活。触发器可以通过数据库中的相关表进行层叠更改。例如,可以在 titles 表的 title_id 列上写入一个删除触发器,...

SQLserver数据库怎么给指定的表区分大小写?

举个例子,假设你想要修改名为“TBL_ACCOUNT”的表,使其区分大小写,你可以在创建表时指定排序规则:CREATE TABLE TBL_ACCOUNT (id INT PRIMARY KEY,username VARCHAR(255) COLLATE Chinese_PRC_CS_AS,password VARCHAR(255));或者,如果你已经创建了表,你可以使用 ALTER TABLE 语句来修改表的排序...

怎么实现两个数据库的同步

少量数据库同步可以采用触发器实现,同步单表即可。 三、配置过程中可能出现的问题 在sql server 2000里设置和使用数据库复制之前,应先检查相关的几台sql server服务器下面几点是否满足: 1、mssqlserver和sqlserveragent服务是否是以域用户身份启动并运行的(.\administrator用户也是可以的) 如果登录用的是本地系统帐户lo...

如何使用触发器实现IP限制用户登录

该触发器对用户EPAY_USER进行了IP限制(只允许'192.168.219.20','192.168.219.22',如果需要设置IP段,用%或?代替即可,如'192.168.219.%‘)。下面看几个例子测试一下:1)从非允许IP地址登陆 (192.168.219.21),连接失败 复制代码代码如下:[oracle@lxdb2 ~]$ sqlplus epay_user@pri ...

一个表上可以有几个触发器 修改表的触发器 如何在触发器中写一个时间判断 oracle如何写一个触发器 触发器定义在一个表中 同一张表建立多个触发器 触发器的两个临时表 如何在表中写触发器 每个表最多支持多少触发器
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电脑开机时怎么进入安全模式 广东医学院大一新生宿舍怎么样,是不是都是学校分配,不能自己选择_百度... 2012高考理科 考到545 想知道怎么填志愿 我的分数545可以报广东医学院边d专业?我系广东考生 高考排名。高考报志愿。广东医学院。 今年545分补录广东医学院还有机会吗? 徒步穿什么鞋 夫妻之间感情再不好都不要去互相伤害 平时可以穿登山鞋吗 大学生都爱去哪些网站? SQLServer 中更新一个表中的多条记录时,是否能够触发每一记录的触发器... sql2008 怎么调试触发器 SQL server 如何调试触发器! sqlserver触发器怎么锁定一列设置成插入和修改都触发 关于sqlserver触发器的修改 为什么我下载不了东西!!! 北京哪家网站建设公司比较专业? 北京企业为什么要做网站而且要做好网站建设 生完孩子后身体会出现哪些变化? 生完宝宝后的孕妈妈,身体都会发生什么样的变化? 生完孩子之后,你的身体都发生了哪些变化? 生完孩子后,身体都会出现哪些明显的变化? 作为母亲,生完孩子后你的身体发生了什么样的变化? 家里电闸不定时跳闸,推上去又没啥事 家里的总闸分闸不跳,不定时的跳电表箱里的漏电保护开关是怎么回事 总开关不定时跳闸 家用漏电开关不定时跳闸 室内插座电闸不定时跳闸什么原因 空气开关跳闸,什么原因,不定时的跳? 有谁知道空气开关不定时跳闸的原因? sql server 2005 写触发器 ,要求 A表中做了增删该, B 表将记录他的 操... 怎么快速的学会SQLserver触发器,本人对数据库的查询,修改等语句是知道的... 贯通SQLServer2008数据库系统开发的目 录 sqlserver触发器,有a、b表,修改a表的密码时,也修改b表的该用户密码! 九华山的位置在? qq群主可以删除别人的发言吗 九华山在哪个地方 九华山在哪个市 “共和国勋章”获得者屠呦呦过完91岁生日,她的一生有过哪些成就? 国家最高荣誉勋章的拥有者,对我们国家做出了多大的贡献? 获得中国六个荣誉勋章于一身的是谁? 国家精神造就奖获得者有哪些人 获得国家最高科技成就奖,于敏是凭借什么成就得到这一奖项的? 关于国家杰出人物的故事? 关于国际贸易实务问题! 国际贸易实务中最低投保范围指的是船至仓还是平安险? 国际贸易中,下面一关于平安险的题,保险公司应该赔付多少? 泰国某进出口商向日本出口大米1000包,共10公吨,向泰国保险公司投保了平安险(F.P.A),货物由泰国某船运 国际贸易实务案例分析题 急!考试用 一道国际贸易的题目求解答