sql server2005 通过IP访问失败,网上方法都已经试了。

Dlwxn 2010-03-12 09:46:09
过程:
本来已经安装了sql server2000,两个系统都运行正常。
另外一家公司在未卸载Sql server2000的情况下直接安装2005

问题出来了,有一个系统是连接2000没有问题,一个系统连接2000有问题。

使用过程中,通过IP访问,连接的SQL Server 2000,使用机器名加sql server2005实例名称,访问的是SQL Server2005

我把所有系统都升级到2005上去。

操作过程是:
卸载sql server 2000,把数据库文件都移植到2005上,发现一个问题,就是通过IP的访问无法连接数据库。
网上的解决办法:
http://www.cnblogs.com/yupipi520/archive/2009/03/24/1420847.html
http://blog.csdn.net/xiongyilong/archive/2007/12/09/1925353.aspx

这种方法都测试过。

看本地的1433端口也已经绑定,telnet 1433端口也成功。就是通过IP地址无法访问
也就是这样的连接串:
Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=InfoPubAttach;Data Source=172.16.8.88连接失败,
但是把192.16.8.88换成DBServer\SQL2005,这样是可以的。DBServer是机器名,SQL2005是安装SQL Server2005的实例名称
另外,如果换成机器名称也是失败的。也就是只有通过DBServer\SQL2005方式才可以访问。

有一个程序还必须是要用IP访问。
搞了两天没有搞定,麻烦高手告诉一下解决方法。

...全文
565 点赞 收藏 20
写回复
20 条回复
dawugui 2010年03月12日
3.访问时最好是[ip]\[实例名],例如:
[192.168.0.1]\sql2005的实例名.
回复 点赞
dawugui 2010年03月12日
1.如果一机器同时存在2000和2005,需要更改端口.
2.需要进行远程设置.
Sql Server 2005的1433端口打开和进行远程连接


如何打开sql server 2005 的1433端口

配置工具->Sql Server Configuration Manager->MSSQLSERVER的协议

看看TCP/IP协议是否启动,如果启动,右键菜单点"属性" ,在分页菜单中选"IP地址",把"IP1"和"IP2"中"TCP端口"为1433,

"已启用"改为"是"

配置工具->Sql Server Configuration Manager->SQL Native Client 配置->客户端协议->TCP/IP

选择TCP/IP右键菜单中"属性",确认"默认端口"是1433,"已启用"为"是"




SQL Server 2005 远程连接

配置TCP/IP属性.
Surface Area Configuration --> Database Engine --> Remote Connections --->Using TCP/IT

SQL Server 外围应用配置器—服务和连接外围配置—database englie—远程连接—启用(远程连接的TCP/IP和named pipes)
SQL Server Configuration Manager—SQL2005网络配置—启用TCP/IP和named pipes


-----------------------------------------------------------------------------------------
一般按如上即可.

其他说明见下:


sqlserver2005(Express版),为了便于管理,你还需要去下一个manage管理器,微软的官方网站有
下,安装好manage管理器后,在程序中连接sqlserver2005,下面几点是要注意的。
1. 开启sql2005远程连接功能,开启办法如下,

配置工具->sql
server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Database Engine
节点,先择"远程连接",接下建议选择"同时使用TCP/IP和named pipes",确定后,重启数据库服务就可以了.
2.登陆设置改为,Sql server and windows Authentication方式同时选中,具体设置如下:

manage管理器->windows
Authentication(第一次用windows方式进去),->对象资源管理器中选择你的数据服务器--右键>属
性>security>Sql server and windows Authentication方式同时选中.
3:设置一个Sql server方式的用户名和密码,具体设置如下:
manage管理器->windows Authentication>new query>sp_password null,'sa123456','sa'
这样就设置了一个用户名为sa ,密码为:sa123456的用户,下次在登陆时,可以用Sql server方式,
用户名为sa ,密码为:sa123456的用户进数据库了.
4: 做完上面三步后,这样写连接字符串就可以顺利进入数据库了,
(server=.\\sqlexpress;uid=sa;pwd=sa123456;database=master";


其它版本,做如下設置

程序—Microsoft SQL Server 2005—配置工具—SQL Server 外围应用配置器—服务和连接的外围应用配置器—
1、MSSQLserver(实例名)—DataBase Engine—远程连接—(设置选项)
在下方选项
2、SQL Server Browser—服务(停止时只本机访问)
3、程序—Microsoft SQL Server 2005—配置工具—SQL Server Configuration Manager—网络连接协议-选择实例对应协议—启用(shard memory、Named Pipes、TCP\IP)
注: SQL Server 浏览器程序以服务的形式在服务器上运行。SQL Server 浏览器侦听对 Microsoft SQL Server 资源的传入请求,
并提供计算机上安装的 SQL Server 实例的相关信息。
SQL Server 浏览器可用于执行下列三种操作:
浏览可用服务器
连接到正确的服务器实例
连接到专用管理员连接 (DAC) 端点
SQL Server Browser 服务 (sqlbrowser) 为数据库引擎 和 SSAS 的每个实例提供实例名称和版本号。
SQL Server 浏览器随 Microsoft SQL Server 2005 一起安装,
为该计算机上运行的早期版本的 SQL Server(从 Microsoft SQL Server 7.0 开始)提供此服务。

回复 点赞
Dlwxn 2010年03月12日
Data Source=172.16.8.88,1433这个方式没有试过。

因为另外一家程序已经写死了,就是取本机的IP地址,没有其他方法,不然我早就直接配置成DBServer\SQL2005了。
回复 点赞
永生天地 2010年03月12日
[Quote=引用 14 楼 dlwxn 的回复:]
不修改实例名,看来好像还有一个办法,再安装一个SQL Server,不用实例名,这样应该可以可以解决。

不过有个问题还不明白,用SQL Server 2005自带的客户端连接。我使用DBServer\SQL2005 或者DBServer都可以访问。
[/Quote]
我也试了,是这样的.
还有用jdbc和odbc连接不用写实例名,不解
回复 点赞
东那个升 2010年03月12日
[Quote=引用 14 楼 dlwxn 的回复:]
不修改实例名,看来好像还有一个办法,再安装一个SQL Server,不用实例名,这样应该可以可以解决。

不过有个问题还不明白,用SQL Server 2005自带的客户端连接。我使用DBServer\SQL2005 或者DBServer都可以访问。
[/Quote]
data source=192.16.8.88,1433 类似这种方式试过吗。
回复 点赞
--小F-- 2010年03月12日
[Quote=引用 14 楼 dlwxn 的回复:]
不修改实例名,看来好像还有一个办法,再安装一个SQL Server,不用实例名,这样应该可以可以解决。

不过有个问题还不明白,用SQL Server 2005自带的客户端连接。我使用DBServer\SQL2005 或者DBServer都可以访问。
[/Quote]

有一个是EXPRESS版的实例
回复 点赞
Dlwxn 2010年03月12日
不修改实例名,看来好像还有一个办法,再安装一个SQL Server,不用实例名,这样应该可以可以解决。

不过有个问题还不明白,用SQL Server 2005自带的客户端连接。我使用DBServer\SQL2005 或者DBServer都可以访问。

回复 点赞
SQL77 2010年03月12日
[Quote=引用 12 楼 dlwxn 的回复:]
引用 11 楼 sql77 的回复:
引用 10 楼 dlwxn 的回复:
那有没有办法把实例名去掉?

另外一家把他们的2005系统搞好,系统调试好,人跑了,把问题扔给我们,不厚道。

你有两个实例,不行吧


没有了,SQL Server 2000已经被我卸载,我看网上有修改实例名的方法,我试试看。知道问题所在就可以了。
[/Quote]
别乱修改,等会一个都连接不上,那就累人了
回复 点赞
Dlwxn 2010年03月12日
[Quote=引用 11 楼 sql77 的回复:]
引用 10 楼 dlwxn 的回复:
那有没有办法把实例名去掉?

另外一家把他们的2005系统搞好,系统调试好,人跑了,把问题扔给我们,不厚道。

你有两个实例,不行吧
[/Quote]

没有了,SQL Server 2000已经被我卸载,我看网上有修改实例名的方法,我试试看。知道问题所在就可以了。
回复 点赞
SQL77 2010年03月12日
[Quote=引用 10 楼 dlwxn 的回复:]
那有没有办法把实例名去掉?

另外一家把他们的2005系统搞好,系统调试好,人跑了,把问题扔给我们,不厚道。
[/Quote]
你有两个实例,不行吧
回复 点赞
Dlwxn 2010年03月12日
那有没有办法把实例名去掉?

另外一家把他们的2005系统搞好,系统调试好,人跑了,把问题扔给我们,不厚道。
回复 点赞
东那个升 2010年03月12日
[Quote=引用楼主 dlwxn 的回复:]
过程:
本来已经安装了sql server2000,两个系统都运行正常。
另外一家公司在未卸载Sql server2000的情况下直接安装2005

问题出来了,有一个系统是连接2000没有问题,一个系统连接2000有问题。

使用过程中,通过IP访问,连接的SQL Server 2000,使用机器名加sql server2005实例名称,访问的是SQL Server2005

我把所有系统都升级到2005上去。

操作过程是:
卸载sql server 2000,把数据库文件都移植到2005上,发现一个问题,就是通过IP的访问无法连接数据库。
网上的解决办法:
http://www.cnblogs.com/yupipi520/archive/2009/03/24/1420847.html
http://blog.csdn.net/xiongyilong/archive/2007/12/09/1925353.aspx

这种方法都测试过。

看本地的1433端口也已经绑定,telnet 1433端口也成功。就是通过IP地址无法访问
也就是这样的连接串:
Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=InfoPubAttach;Data Source=172.16.8.88连接失败,
但是把192.16.8.88换成DBServer\SQL2005,这样是可以的。DBServer是机器名,SQL2005是安装SQL Server2005的实例名称
另外,如果换成机器名称也是失败的。也就是只有通过DBServer\SQL2005方式才可以访问。

有一个程序还必须是要用IP访问。
搞了两天没有搞定,麻烦高手告诉一下解决方法。


[/Quote]

2个实例要分别指定端口。data source=192.16.8.88,1433(对应实例的端口)
回复 点赞
--小F-- 2010年03月12日
记得卸载sql server 要把里面的文件夹也全部干掉
回复 点赞
bancxc 2010年03月12日
如果sqlserver有实例名,不管使用ip还是机器名都需要加实例名
回复 点赞
--小F-- 2010年03月12日
恩 IP\\实例名
后面你卸载sql server 2000并没有把实例名给删除掉 所以....
回复 点赞
Dlwxn 2010年03月12日
那有没有办法直接用IP来连接?之前直接安装2005是没有问题的。
回复 点赞
SQL77 2010年03月12日
IP\实例名
回复 点赞
mxc1225 2010年03月12日
乖乖!!看了都复杂!!只能帮你等待高手.
回复 点赞
bancxc 2010年03月12日
用ip也需要加实例名的
回复 点赞
bancxc 2010年03月12日
应该是这样吧
192.16.8.88\SQL2005
回复 点赞
发动态
发帖子
疑难问题
创建于2007-09-28

9308

社区成员

12.1w+

社区内容

MS-SQL Server 疑难问题
社区公告
暂无公告