--建立DLL触发器只允许sa账户本地登录
CREATE TRIGGER SA_LoginIP_Check
ON ALL SERVER WITH EXECUTE AS 'sa'
FOR LOGON
AS
BEGIN
DECLARE @ip nvarchar(max)
DECLARE @loginName nvarchar(max)
SELECT @ip=EVENTDATA().value
('(/EVENT_INSTANCE/ClientHost)[1]','nvarchar(max)')
SELECT @loginName=EVENTDATA().value
('(/EVENT_INSTANCE/LoginName)[1]','nvarchar(max)')
--这里可根据@ip 及@loginname 来自定义登录规则,以下则为只允许sa本机登录的例子
IF @loginName='sa'
BEGIN
IF @ip<>'<local machine>'
ROLLBACK
END
END
建立DLL触发器只允许sa账户本地登录
最新推荐文章于 2023-10-27 09:50:43 发布