限制访问SQL Server的客户端IP地址
来源:互联网 发布:登录注册页面模板源码 编辑:程序博客网 时间:2024/05/20 15:41
http://www.cnblogs.com/chenxizhang/archive/2009/06/02/1494212.html
今天被问到这个问题,以前没有处理过,在网上找了一些资料,看起来是可以做到的。特摘录如下,以备查阅
有时候,我们只想使某个IP的计算机才能连接到SQL Server服务器,不允许其他客户端连接,怎么办呢?
解决方法
可以直接在防火墙中做限制,只允许与指定的IP地址建立1433的通讯。当然,从更为安全的角度来考虑,应该把1433端口改成其他的端口。
其他解决方法1(限从指定IP接入的客户端)
如果使用SQL Server 2005,还可以通过端点限制的方法来实现,此方法要求一块专门的网卡,所有可以连接SQL Server的客户端均通过此网卡接入(假设此网卡的IP是192.168.1.1):
1.在“SQL Server 配置管理器”的“SQL Server 2005网络配置中”,禁止除TCP/IP之外的所有协议;
2.使用如下的T-SQL禁止默认的TCP端点
ALTER ENDPOINT [TSQL Default TCP]
STATE = STOPPED
3.使用如下的T-SQL建立新的TCP端点和授权
USE master
GO
-- 建立一个新的端点
CREATE ENDPOINT [TSQL User TCP]
STATE = STARTED
AS TCP(
LISTENER_PORT = 1433,
LISTENER_IP = (192.168.1.1) -- 侦听的网络地址
)
FOR TSQL()
GO
-- 授予所有登录(或者指定登录)使用此端点的连接权限
GRANT CONNECT ON ENDPOINT::[TSQL User TCP]
TO [public]
完成上述配置之后,只有通过网络地址配置为192.168.1.1的网卡接入的客户端才能访问SQL Server;另外,如果只授予指定登录对端点的连接权限,则只有指定的登录才能接入SQL Server实例。
其他解决方法2(限指定IP的客户端接入)
当SQL Server 2005升级到SP2或者更高的版本的时候,还可以通过新增的触发器来实现控制。
执行下面的T-SQL后,将使除IP地址为192.168.1.1之外的客户端连接失败。
USE master
GO
CREATE TRIGGER tr_LoginCheck
ON ALL SERVER
FOR LOGON
AS
IF EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'varchar(15)') <> '192.168.1.1'
ROLLBACK TRAN
GO
- 限制访问SQL Server的客户端IP地址
- 限制访问SQL Server的客户端IP地址
- [sql server] 限制ip访问
- Sql server限制IP访问方法
- 获取SQL Server中连接的客户端IP地址
- 限制客户端ip访问
- 获取客户端访问真正的IP地址
- sql server限制用户从指定IP地址登录
- [SQL Server 2005/2008]限制(及监控)建立连接的客户端ip及db用户
- 限制IP地址访问数据库
- sql 获取 session 客户端的 IP 地址
- 限制某段IP地址访问网页的一个列子
- TOMCAT5.5中限制个别IP地址访问的方法
- squid上限制某些ip地址访问的方法
- CXF WebService 对IP地址的限制访问
- SQL Server局域网用IP地址拒绝访问
- SQL Server 2005 不能通过ip地址访问
- IP的限制访问
- OC中的关键字以及一些基础概念
- Tomcat发布项目时,浏览器地址栏图标的问题
- 路由端口映射的作用
- 暴力求解法之简单枚举--除法
- extjs学习04——extjs的初级UI设计1
- 限制访问SQL Server的客户端IP地址
- hdu 4737 A Bit Fun
- 互斥锁和读写锁
- 大鵬古城遊
- Android监听键盘开启关闭的方法
- 特殊的线性表-串-顺序存储
- LeetCode-3Sum
- C语言面试题(嵌入式开发方向,附答案及点评)
- UVA 10054 - The Necklace