将执行存储过程的相关信息( 客户端ip等 )写入到日志表

USE tempdb
GO
--增加操作日志表
IF OBJECT_ID('dbo.operator_log') IS NOT NULL DROP TABLE operator_log
GO
CREATE TABLE dbo.operator_log(
	id INT IDENTITY(1,1) PRIMARY KEY,
	hostName NVARCHAR(50),
	[clientIP] VARCHAR(50),
	[serverIP] VARCHAR(50),
	loginame NVARCHAR(50),
	[program_name] NVARCHAR(200), 
	execTime DATETIME NOT NULL DEFAULT(GETDATE())
)
GO
IF OBJECT_ID('dbo.Proc_Test') IS NOT NULL DROP PROC dbo.Proc_Test
GO
CREATE PROC dbo.Proc_Test
AS
BEGIN
	SET NOCOUNT ON
	--插入到日志表
	INSERT INTO dbo.operator_log
	(
		hostName,
		clientIP,
		serverIP,
		loginame,
		[program_name]
	)
	SELECT  
	s.hostName,
	con.client_net_address AS [clientIP],
	con.local_net_address AS [serverIP],
	s.loginame,
	s.[program_name]
	FROM sys.sysprocesses AS s INNER JOIN sys.dm_exec_connections con ON s.spid=con.session_id AND s.spid=@@SPID
	
	--其它代码
END
GO
EXEC dbo.Proc_Test

SELECT * FROM dbo.operator_log

或者:


USE tempdb
GO
--增加操作日志表
IF OBJECT_ID('dbo.operator_log') IS NOT NULL DROP TABLE operator_log
GO
CREATE TABLE dbo.operator_log(
	id INT IDENTITY(1,1) PRIMARY KEY,
	hostName NVARCHAR(50),
	[clientIP] VARCHAR(50),
	[serverIP] VARCHAR(50),
	loginame NVARCHAR(50),
	[program_name] NVARCHAR(200), 
	execTime DATETIME NOT NULL DEFAULT(GETDATE())
)
GO
IF OBJECT_ID('dbo.Proc_Test') IS NOT NULL DROP PROC dbo.Proc_Test
GO
CREATE PROC dbo.Proc_Test
AS
BEGIN
	SET NOCOUNT ON
	--插入到日志表
	INSERT INTO dbo.operator_log
	(
		hostName,
		clientIP,
		serverIP,
		loginame,
		[program_name]
	)
	SELECT  
	s.[host_name],
	con.client_net_address AS [clientIP],
	con.local_net_address AS [serverIP],
	s.login_name,
	s.[program_name]
	FROM sys.dm_exec_connections AS con INNER JOIN sys.dm_exec_sessions AS s ON con.session_id=s.session_id AND s.session_id=@@SPID
	
	--其它代码
END
GO
EXEC dbo.Proc_Test

SELECT * FROM dbo.operator_log


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值