Sql server 使用全局触发器限制IP 实现白名单功能
来源:互联网 发布:国产数据库怎么样 编辑:程序博客网 时间:2024/05/22 17:09
首先新建一个表:WhiteList
字段 :IP
然后手动插入一条记录: insert into 数据库名.dbo.WhiteList(IP) values('<local machine>') --切记一定要加,否则等下触发器建立后就无法进来了(解决方案在下面)
然后创建触发器:
--创建登录触发器-- =============================================-- Description: <限制本机和指定的IP登陆>-- =============================================CREATE TRIGGER [tr_logon_CheckIP]ON ALL SERVERFOR LOGONASBEGIN IF IS_SRVROLEMEMBER('sysadmin') = 1 BEGIN DECLARE @IP NVARCHAR(15); SET @IP = (SELECT EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'NVARCHAR(15)')); IF NOT EXISTS(SELECT IP FROM [数据库名].[dbo].[WhiteList] WHERE IP = @IP ) ROLLBACK; END;END;
成功,重新登录可以进入
可以插入新的IP,然后用其他终端来测试(服务器本机不好测试,因为无论怎么改IP,都是<local machine>)
------------------------------------------
假如确实犯傻了,自信过度了,比如我这样,想把这个表内的ip都加密,结果发现不一致导致登录失败了,怎么都进不来,怎么办?按照以下步骤来:
1.打开Sql Server Manage Studio,不要登录(反正是会失败),去菜单:“文件”--“新建”--“使用当前连接的查询”,在打开的登录窗口中,服务器名称输入:ADMIN:127.0.0.1
,账号sa + 原密码,,点击登录,成功
2.在打开的查询界面执行:drop trigger tr_logon_CheckIP on all server 执行成功,就删除掉这个触发器了
3.重新登录sa,发现可以进去了
阅读全文
0 0
- Sql server 使用全局触发器限制IP 实现白名单功能
- SQL Server 限制IP登陆(登陆触发器运用)
- SQL Server 限制IP登陆(登陆触发器运用)
- SQL Server 限制IP登陆(登陆触发器运用)
- SQL Server如何限制IP登陆:登陆触发器的运用
- [Oracle] 使用触发器实现IP限制用户登录
- 如何使用触发器实现IP限制用户登录
- SQL SERVER触发器实现
- SQL Server如何限制IP登陆:登陆触发器的运用(2)
- SQL Server如何限制IP登陆:登陆触发器的运用(3)
- SQL Server如何限制IP登陆:登陆触发器的运用(4)
- SQL Server如何限制IP登陆:登陆触发器的运用(5)
- [sql server] 限制ip访问
- SQL Server 限制IP登陆
- php限制IP和IP段的代码(白名单)
- 使用iptables实现etcd集群白名单功能
- SQL Server 触发器的使用,实现多字段自增长
- SpringCloud系列:利用Zuul实现统一服务网关服务,简单实现IP白名单功能
- 深度学习用到的代价函数------交叉熵
- linux的sh脚本编程
- 【Scikit-Learn 中文文档】高斯过程
- ICPC2017香港赛区游记
- csapp-lab5 shell-lab
- Sql server 使用全局触发器限制IP 实现白名单功能
- 【Scikit-Learn 中文文档】交叉分解
- Codeforces Round #447 (Div. 2) B. Ralph And His Magic Field 推规律+证明
- js中的parseInt()
- 备忘录模式
- 饮水机和水桶图解RAID方式,强烈推荐
- 简单的打印素数、打印乘法口诀表和判断闰年
- jzoj 3420 最优配对问题
- 小波变换教程(二)