在数据库使用过程中,为了数据的安全,除了通过服务器防火墙设置访问权限外,还可以通过在数据库中通过创建触发器的方式来控制用户或特定IP的登录权限 。
USE master;
创建数据库登录账号lg_test
CREATE LOGIN lg_test WITH PASSword = '3KH66587@';
赋予用户查看服务状态权限
GRANT VIEW SERVER STATE TO lg_test;
创建登录触发器,限制指定的IP192.168.0.83登陆数据库
CREATE TRIGGER connection_limit_trigger
ON ALL SERVER WITH EXECUTE AS 'lg_test'
FOR LOGON
AS
BEGIN
IF ORIGINAL_LOGIN()= 'lg_test' AND
(SELECT EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'NVARCHAR(15)'))
IN('192.168.0.83')
ROLLBACK;
END;
--删除该登录触发器
drop TRIGGER connection_limit_trigger ON ALL SERVER
【SQL Server数据库限制用户和特定IP登录】
推荐阅读
- 如何彻底搞懂Mysql事务原理
- MySQL高级进阶:关于InnoDB存储结构,一文深入分析讲解
- ES的基本概念及常用命令
- 华为|华为打造全球最大银行分布式核心系统全面投产:自研处理器+数据库
- MYSQL5.7安装教程
- MySQL 5.6.28修改root用户密码(windows)
- MySQL深度分页:数千万的数据如何快速分页?
- 爆破SSH/MySQL账户竟如此简单
- SQLServer基础:Apply关键字用法介绍
- CentOS7下MySQL数据库服务器的安装和配置