SqlServer 局域网内不能连接对方数据库?
一直都是连接的远程测试服务器的数据库,今天想把自己的数据库开放出来让公司同事连接,竟然连接失败!转了很大一个圈终于搞定了。
接下来就把这次心历路程发出来,希望能帮助到有需要的博友。
PS: 我和同事的数据库是 sqlserver2008,sql2000/2005请做参考。
因为是把我的机器开放出来让同事连,所以以下把 本机 称作 服务器,同事机 称作 客户端
一、telnet服务器
首先想到用 telnet命令 做连接测试
因为默认sqlserver服务占用的是1433端口,所以在客户端输入dos命令
telnet 128.0.*.* 1433 // (128.0.*.* 是 服务器IP地址)
毫无疑问,连接失败。

怎么解决呢?
1.关闭防火墙
首先想到是不是被防火墙阻止了,在服务器端打开控制面板->windows防火墙,点击 关闭
然后,再一次在客户端 输入dos命令 telnet 128.0.*.* 1433
好吧,依然连接失败。
2.打开 sqlserver 配置管理器,修改配置(服务器端)
不只是防火墙的问题,我还是看看sqlserver的配置是否出了问题吧
开始->所有程序->Microsoft SQL Server 2008->配置工具->SQL Server 配置管理器
双击打开 SQL Server 配置管理器(本地) 折叠菜单下的 SQL Server 网络配置,点击查看SQLEXPRESS的协议
原来我的 管道协议Name pipes 和 TCP/IP 协议 都被禁用了!
右键 启用

SQL Native Client 10.0 配置菜单下的 客户端协议 也做如上改动,启用这2个协议。
这下在客户端 输入dos命令 telnet 128.0.*.* 1433,终于连接成功了。

--------------------------------------------------------------------------------------------------------------------------------------------------------
当然,如果你的SQL Server服务没有启动,那肯定是连接不上的。
同样是配置管理器,点击 SQL Server 服务,查看到该服务运行的状态,如果是停止状态,就要点选服务,右键 启动 了

有些时候启动服务会报错?会不会是你的1433端口被占用了?
在dos窗口下输入命令 netstat -ano | Find "1433"

成功找到,表明确实被占用了,最后一个是占用该端口的进程ID。
PS: 当然,我这里被占用的就是SQL Server服务本身;因为我已经启用该服务了啊,看上图,进程ID是不是1496?
这个时候,你要么kill掉改进程,要么就该端口啦。杀进程太暴力我就不讲了,改端口的话:
还是SQL Server网络配置,点击SQLEXPRESS的协议,看见TCP/IP协议了么?
这次,右键 TCP/IP协议 点击 属性,切换到 IP地址 这一栏,修改每个IP的 TCP端口 为你想指定的端口(这个端口不能再被占用啦)
PS: 直接修改 IPAll 里面的端口应该也是可以的。见下图(红色区域中的数字就是你要修改的端口了)

重新启动一下SQL Server 服务吧。
--------------------------------------------------------------------------------------------------------------------------------------------------
好了,已经可以成功 telnet 了,我再用sa账户连接一次数据库看看。

还是失败!我在服务器端用sa账户也是连接失败!
二、修改数据库配置属性(服务器端)
既然如此,应该是sa账户出现了问题,我查查看
开始->所有程序->Microsoft SQL Server 2008->SQL Server Management Studio
如果你没有这个管理工具,那就装一下吧
先用localhost,身份验证选择 ”windows身份验证“登录进去(这个应该是可以的吧)
右键localhost,选择属性,点击 安全性,修改 服务器身份验证 为 “SQL Server 和 windows 身份验证”

同时,在左边的 选择页 点击 连接 ,找到 ”允许远程连接到此服务器“,勾选上该选项。
这下,我终于连接上了。
PS: 鉴于该篇博文是在第二天才写的,中间发生的一些其他问题我暂时回想不起来,如果有博友遇到了其他问题,可以在下面留言。
看看大家会给出什么解决办法。
SqlServer 局域网内不能连接对方数据库?的更多相关文章
- 局域网内远程连接OPC配置方法详解
局域网内远程连接OPC配置方法详解 https://wenku.baidu.com/view/20fb8ea6d1d233d4b14e852458fb770bf78a3bcc.html OPC服务 ...
- SQLServer 2005客户端远程连接sql2008 数据库服务器
SQL2005客户端远程连接sql2008 数据库服务器 by:授客 QQ:1033553122 准备工作: 客户端所在pc机配置: 配置数据源 控制面板-管理工具-ODBC数据源-系统DSN-添加- ...
- sqlserver同一个局域网内,把服务器数据库备份到客户端
1.客户端主机创建网络共享文件夹 2.远程服务器运行: EXEC sp_configure 'show advanced options', 1;-- 允许配置高级选项--配置选项'show adva ...
- jdbc的配置及jdbc连接常用数据库(mysql、sqlserver、Oracle)
1.连接SQL Server数据库 import java.sql.*; publicclassMain{publicstaticvoid main(String[] args){String dri ...
- 访问局域网内其他主机的VMware虚拟机上的mysql数据库和redis缓存
上一篇写了访问局域网内其他主机的虚拟机上的项目 ,现在说说访问局域网内其他主机的虚拟机上的数据库和缓存 博主使用的linux是Ubuntu16.04: 一.安装数据库和缓存 这里连接的数据库和缓存以m ...
- ASP.net分别连接SQLserver数据库与连接Access数据库精英版
-------------------------连接access2003 字符串------------------------- Provider=Microsoft.Jet.OLEDB.4.0; ...
- sqlserver 连接远程数据库小结
A,B两个数据库,不在同一台服务器实例 当需要通过sqlserver语句来实现对远程数据库操作(OPENDATASOURCE): select * from -- 操作类型 OPENDATASOURC ...
- 局域网所有机器都能连接MySQL数据库的设置命令
Sql代码: grant all privileges on *.* to root@"%" identified by 'abc' with grant option; flus ...
- sql 2000 无法连接远程数据库 sqlserver不存在或访问被拒绝、不能打开到主机的连接,在端口1433:连接失败等 解决方案
问题: sql 2000 无法连接远程数据库 sqlserver不存在或访问被拒绝 telnet 127.0.0.1 1433 提示:不能打开到主机的连接,在端口1433:连接失败 解决方案: ...
随机推荐
- 轻量级orm框架——gzero指南
开发过web系统人一定对大量的curd不陌生,为了提高效率我们通常会使用一些orm框架做辅助,而不会直接操作数据库.但是现有的orm框架往往有两个通病(各种语言的都一样):1. API复杂:即使是有经 ...
- IDEA出现Cannot resolve symbol “xxx“(无法解析符号)的解决办法
1,File->Invalidate Caches/Restart 清除缓存并重启 idea 2,检查pom文件中的依赖关系是否正确 3,maven -> Reimport 4,打开pro ...
- 无法自动装配。未找到 ‘xxxx’ 类型的 Bean。
无法自动装配.未找到 'xxxx' 类型的 Bean. 1.解决办法 打开设置,找到编辑器->检查.把"自动装配Bean类",取消勾选,点击应用.确定.
- Integer缓冲区相关问题--valueOf()方法
今天在学习过程中了解到一个现象,代码如下: Integer num1 = 100; Integer num2 = 100; System.out.println(num1==num2?true:fal ...
- 第09讲:Flink 状态与容错
Flink系列文章 第01讲:Flink 的应用场景和架构模型 第02讲:Flink 入门程序 WordCount 和 SQL 实现 第03讲:Flink 的编程模型与其他框架比较 第04讲:Flin ...
- 密码学之PRP/PRF转换引理
本文将介绍密码学中的PRF.PRP等相关概念,并介绍 PRP/PRF 转换引理及其证明,希望读完本文后,你能对现代密码学中这几个基础概念有所了解. 在开始本文前,希望你有如下预备知识: 现代密码学是怎 ...
- tcp 中 FLAGS字段,几个标识:SYN, FIN, ACK, PSH, RST, URG.
在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 其中,对于我们日常的分析有用的就是前面的五个字段.它们的含义是: 1.SYN表示建立 ...
- 在windows、widfly环境下,远程debug
最近:一直想弄一个远程debug模式,奈何没有接触过,导致畏首畏尾,不过,两天时间终于搞出来了雏形,真的是一个坑一个坑踩过来的. widfly环境:widfly8 准备工作:远程运行环境:省略,前面一 ...
- rabbitmq-direct(直接交换模式)
生产者和消费者,具有相同的交换机名称(Exchange).交换机类型和相同的密匙(routingKey),那么消费者即可成功获取到消息.(PS:相对比只要交换机名称即可接收到消息的广播模式(fanou ...
- nginx启动失败:Redirecting to /bin/systemctl start nginx.service Failed to start nginx.service: Unit not found.
解决方法: 是因为nginx没有有添加到系统服务,手动手动添加一个即可. 在 /etc/init.d/下创建名为nginx的启动脚本即可,内容如下: #!/bin/bash # # chkconfig ...