背景

只想使某个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

转载于:https://www.cnblogs.com/treeyh/archive/2007/08/07/846057.html

[转]只让指定的机器连接SQLServer服务器相关推荐

  1. 连接SqlServer服务器出现18456错误

    连接SqlServer服务器出现18456错误 问题 解决方案 1连接windows身份验证 2 3结果 连接SqlServer服务器出现18456错误 问题: 博主在有个自己的数据库:test(是支 ...

  2. 解决CMD命令连接sqlserver 服务器主体 无法在当前安全上下文下访问数据库

    ** CMD命令连接sqlserver 服务器主体 无法在当前安全上下文下访问数据库 ** 今天使用sqlserver,发现了一个问题,在CMD命令中使用USE DBNAME语句的时候,会返回错误: ...

  3. exchange 2010 指定用户邮箱连接CAS服务器

    客户端通过RPC连接邮件前端访问服务器,现在CAS和邮箱角色基本都是分离的.默认情况就是随机的.如果一个CAS服务器的邮箱数目较多,就会出现RPC服务死掉.那么outlook客户端就会出现未响应的状态 ...

  4. 操作无法完成.键入的打印机名不正确,或者指定的打印机没有连接到服务器上.有关详细信息

    直接在driver上面安装即可.  操作无法完成.键入的打印机名不正确,或者指定的打印机没有连接到服务器上.有关详细信息,请单帮助 2010-04-13 15:35 上午同时说,网络打印机打印不了,于 ...

  5. 无法连接到打印机。 您或者输入打印机名不正确, 或指定打印机是否不再连接到服务器。错误提示的解决

    无论是直接双击安装,还是通过填加网络打印机输入"//ip/共享打印机名"都是提示这个错误: 无法连接到打印机. 您或者输入打印机名不正确, 或指定打印机是否不再连接到服务器. 单击 ...

  6. SQLServer复制需要有实际的服务器名称才能连接到服务器,请指定实际的服务器名转...

    "SQLServer复制需要有实际的服务器名称才能连接到服务器,请指定实际的服务器名" 2014-06-12 12:01:10 最近在学习SQL SERVER的高级复制技术的时候, ...

  7. 发布订阅--SQLServer复制需要有实际的服务器名称才能连接到服务器,请指定实际的服务器名...

    最近在学习SQL SERVER的高级复制技术的时候,遇到一个小问题,就是用本地SQL SERVER连接服务器的数据库时,在查看复制功能的发布服务器时,连接不上,弹出一个错误提示框架,如下: 原来在自己 ...

  8. mysql让其他机器访问_mysql设置允许其它机器连接

    mysql设置允许其它机器连接 (2011-10-25 15:27:25) 转载▼ 未经设置的mysql不允许其它机器连接,可能报如下错误 Lost connection to MySQL serve ...

  9. Unity连接SQLServer数据库报错找不到System.Data.dll

    最近要采集一些数据,原来是读取MySQL到没有什么问题,现在改成数据库是SQLServer,但是一直报找不到System.Data.dll文件的错误,在这里记录一下解决方法,供以后避坑(PS:原来一直 ...

最新文章

  1. 英语语法---数词详解
  2. k8s安装之Linux centos7升级内核到4.18以上
  3. 【转】Android:ListView常见错位之CheckBox错位
  4. C++ lambda 捕获模式与右值引用
  5. linux安全基线检查,CentOS Linux 7安全基线检查
  6. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)
  7. 11-----的使用
  8. js吧键值对变成对象_【面试题】和Vue.js有关的41个基础问题
  9. c语言冒泡法输出最小值,C语言冒泡排序法及冒泡法思路
  10. 用Python算出你的名字,比老僧算的更快!
  11. PPT——点鼠标,切换到下一页时,出现延迟几秒的解决办法
  12. jdbc连接云数据库mysql_java基于jdbc连接mysql数据库功能实例详解
  13. Matlab之微分方程求解
  14. narwal机器人_省时省心才见真章!Narwal云鲸J1智能扫拖机器人国内上市
  15. 主板烧糊,大短路,不开机且烧糊成碳了还会导电
  16. android ota机制,Android OTA简介
  17. Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-1.5.0-gcj-4.5/lib/tools.jar 求解
  18. oh my 毕设-人体姿态估计综述
  19. ubuntu安装postgresql并修改数据存储目录
  20. ios 新浪微博网页登陆分享 {error:userinfoerror pos:5}

热门文章

  1. 五菱宏光s1图片及价格图片_全新五菱宏光S来了,还在念念不忘S1吗?国六机头还颜值在线...
  2. 解决swiper在tab切换时,swiper不生效,以及display:none后,无法自动滑动的问题
  3. 微信小程序的搜索和重置功能
  4. 由创建一个不能被继承的类引发的对象模型的思考
  5. 深度学习——人工神经网络再掀研究热潮
  6. JavaWeb学习总结(十三)——使用Session防止表单重复提交
  7. LaTeX:公式及编号
  8. 深入理解Objective-C:Category
  9. 编写高效的C程序与C代码优化
  10. 程序员面试题精选100题(29)-调整数组顺序使奇数位于偶数前面[算法]