方法一:SQL Server 2005 SP2或更高版本(触发器)
当SQL Server 2005升级到SP2或者更高的版本的时候,还可以通过新增的触发器来实现控制。
执行下面的T-SQL后,将使除IP地址为192.168.1.1之外的客户端连接失败。
USE master;
GOCREATE TRIGGER tr_LoginCheck
ON ALL SERVER
FOR LOGON
AS
BEGIN
DECLARE @clientHost NVARCHAR(15);SET @clientHost = EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'nvarchar(15)');
IF @clientHost NOT IN ('192.168.1.1', '192.168.1.2', '192.168.1.3')
ROLLBACK TRAN;
END;
GO
在ssms中查看
无法登录的处理方法
使用DAC登陆执行删除触发器语句
1、进入CMD 执行 sqlcmd -A -S localhost //服务器名 当前示例是本机
2、执行删除触发器语句 DROP TRIGGER tr_LoginCheck ON ALL SERVER
3、输入GO
4、 OK (有可能结果提示执行失败,但是实际已经删除触发器了 可以试试)
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » SQLSERVER通过触发器限制客户端IP地址
发表评论 取消回复