解决限制访问SQL Server的IP地址的办法

  我们只想使某个IP的计算机才能连接到SQLServer服务器,不允许其他客户端连接,怎么操作呢?

   
    解决方法:可以直接在防火墙中做限制,只允许与指定的IP地址建立1433的通讯。当然,从更为安全的角度来考虑,应该把1433端口改成其他的端口。
   
    其他解决方法1(限从指定IP接入的客户端):如果使用SQLServer2005,还可以通过端点限制的方法来实现,此方法要求一块专门的网卡,所有可以连接SQLServer的客户端均通过此网卡接入(假设此网卡的IP是192.168.1.1):
   
    1.在“SQL Server配置管理器”的“SQLServer2005网络配置中”,禁止除TCP/IP之外的所有协议;
   
    2.使用如下的T-SQL禁止默认的TCP端点
   
    !--
   
    Code highlighting produced byActiproCodeHighlighter(freeware)
   
    --> ALTER ENDPOINT [TSQL Default TCP]
   
    STATE = STOPPED
   
    3.使用如下的T-SQL建立新的TCP端点和授权
   
    !--
   
    Code highlighting produced byActiproCodeHighlighter(freeware)
   
    --> USE master
   
    GO
   
    -- 建立一个新的端点
   
    !--
   
    Code highlighting produced byActiproCodeHighlighter(freeware)
   
    --> CREATE ENDPOINT [TSQL User TCP]
   
    STATE = STARTED
   
    AS TCP(
   
    LISTENER_PORT = 1433,
   
    LISTENER_IP = (192.168.1.1) -- 侦听的网络地址
   
    )
   
    FOR TSQL()
   
    GO
   
    -- 授予所有登录(或者指定登录)使用此端点的连接权限
   
    !--
   
    Code highlighting produced byActiproCodeHighlighter(freeware)
   
    --> GRANT CONNECT ON ENDPOINT::[TSQL User TCP]
   
    TO [public]
   
    完成上述配置之后,只有通过网络地址配置为192.168.1.1的网卡接入的客户端才能访问SQLServer;另外,如果只授予指定登录对端点的连接权限,则只有指定的登录才能接入SQLServer实例。
   
    其他解决方法2(限指定IP的客户端接入)
   
    当SQL Server 2005升级到SP2或者更高的版本的时候,还可以通过新增的触发器来实现控制。
   
    执行下面的T-SQL后,将使除IP地址为192.168.1.1之外的客户端连接失败。
   
    !--
   
    Code highlighting produced byActiproCodeHighlighter(freeware)
   
    --> USE master
   
    GO
   
    CREATE TRIGGER tr_LoginCheck
   
    ON ALL SERVER
   
    FOR LOGON
   
    AS
   
    ROLLBACK TRAN
   
    GO

时间: 2024-09-13 17:39:25

解决限制访问SQL Server的IP地址的办法的相关文章

unidac 访问sql server 字符查询参数失效问题及解决办法

     在帮朋友调试kbmmw 服务器的时候,发现用uindac 访问sql server作为后台时,碰见一个问题. 具体如下: cx.Close; cx.sql.add('select * from T where id=:id'); // 这里id 是整数字段 cx.Prepare; cx.ParamByName('id').AsString:='1475'; cx.Open; 这一句运行时不出现错误,但是返回结果为空,很是奇怪. cx.Close; cx.sql.add('select

SQL Server 限制IP登陆

原文 http://www.cnblogs.com/gaizai/archive/2013/05/23/3095145.html .背景 在MySQL的mysql.User表保存了登陆用户的权限信息,Host和User字段则是关于登陆IP的限制.但是在SQL Server没有这样一个表,那SQL Server有什么办法可以实现类似的安全控制的功能呢? SQL Server 包括三种常规类型的触发器:DML触发器.DDL触发器和登录触发器.DML触发器是比较常使用的,它通常在表或视图中修改数据(I

ORACLE 创建DBlink访问SQL SERVER数据库

  Oracle中使用透明网关链接到Sqlserver 在最近项目中需要从Oracle中访问SQL Server数据库, 自然想到了透明网关. 因为Oracle数据库是Linux上的, 而Linux上的Oracle9i不包括连接到SQL Server的透明网关.就在一台单独的Windows服务器上安装了透明网关用做Oracle访问SQL Server的桥梁. 环境如下: Oracle Database Server:Linux + oracle 9.2.0.4 IP:10.194.129.197

使用命名管道访问SQL Server

一.意义 SQL Server安装后缺省配置是允许客户端以TCP/IP协议来访问,用户只需要知道SQL Server账号的密码就可以访问,这样很不安全,因为很多WEB程序是直接把连接信息(数据库服务器.连接账号.连接密码)写在程序里面的,破坏者或黑客可以通过某些方法直接查看源代码获取SQL Server账号及密码,他们就可以直接用TCP/IP协议连接到该数据库服务器,对数据或配置进行修改甚至作破坏.使用命名管道时用户必须得具有访问SQL Server所在机器的资源以后才有可能访问SQL Serv

Sql Server2012 使用IP地址登录服务器的配置图文教程

最近在使用NFineBase框架+c#做一个系统的时候,在使用sql server 2012 连接数据库的时候 ,遇到几个问题. 一. 就是在本地或者远程连接别人的数据库的时候,以ip地址作为服务器名称 以SQL Server 身份验证(即输入登录名和密码)的方式登录数据库 总会出现错误 比如说会提示一下错误: 用户 'sa' 登录失败,该用户与可信 SQL Server 连接无关联. 但是使用 计算机名\实例名 这种方式就可以登录 \ 最后发现还是数据库的配置问题,解决方案如下: 我使用的是w

配置HTTP访问SQL Server 2005 Analysis服务器

server|访问|服务器 配置通过HTTP访问SQL Server 2005 Analysis服务器 其HTTP访问机制和SQL2000 Analysis 的一样,通过在IIS中增加应用程序映射(ISAPI扩展)来实现对Analysis服务器的访问 具体步骤如下: 我的机器环境WIN2003+IIS SQL Server 2005 BETA3 1.确定msmdpump.dll文件所在SQLSERVER2005目录的位置,当前它处于下面目录中 C:\Program Files\Microsoft

go语言通过odbc访问Sql Server数据库的方法_Golang

本文实例讲述了go语言通过odbc访问Sql Server数据库的方法.分享给大家供大家参考.具体如下: 这里需要用到go-odbc库,开源地址为:https://github.com/weigj/go-odbc 复制代码 代码如下: package main; import (     "fmt"     "database/sql"     _"odbc/driver" ) func main(){     conn,err := sql.O

Delphi编程访问SQL Server数据库

delphi是一个优秀的可视化软件开发环境,并已广泛应用于数据库软件的开发.在DelphiC/S版环境中,结合其优化的数据库操作,以及Borland Database Engine(即:BDE,数据库引擎),对开发客户机/服务器系统下的网络数据库软件提供了更加快速有效的途径.在客户机/服务器系统中,服务器端我们采用Microsoft SQL Server6.0 for WindowsNT作为数据库服务器:另外,在客户端采用Delphi编写客户软件.在此,我们假定SQLServer设置完毕,并已经

VFP中用SPT访问SQL Server数据库

VFP因它简单易学,可快速建立应用软件而深受广大程序员喜爱,但其数据库系统不安全也令广大用户非常头痛.随着MS SQL Server数据库系统的推广应用,其强大的安全性能普遍受到好评.笔者在长期的编程实践中,发现利用VFP的SQL pass-through(SPT)技术结合MS SQL Server数据库系统,也能像VB.Delphi.PowerBuilder一样轻松开发出优秀的客户/服务器(C/S)应用软件.现通过编写一个简单的通信录例子和广大VFP爱好者共同探讨. 一.服务器端MS SQL