繁体   English   中英

指定协议和端口时,只能在ASP.NET 1.1中访问Sql Server 2005

[英]Sql Server 2005 only accessible in ASP.NET 1.1 when I specify protocol and port

我的公司目前正在将一些真正的旧数据库迁移到sql server2005。某些旧版应用程序在连接到新服务器时遇到问题。 连接字符串在Asp.NET 2.0中有效,可能是因为它自动假定tcp:1433。

我必须在ASP.NET 1.1中构造这样的连接字符串才能使其工作:

"Server=tcp:my.server.com,1433;..."

没有协议和端口,连接将失败(“无效的连接异常”)

我们的防火墙已打开TCP 1433和UDP 1434。 在启用SQL Server 2005远程访问后,在启用TCPIP的同时,也在运行SQL Browser服务,我使用了正确的登录凭据。

有什么想法为什么我不能只指定没有协议和端口号的服务器名称?

IIRC SQL Server 2005默认情况下会查找可用的任何旧端口。 在我的笔记本电脑上,这意味着端口1212。

要将其强制到特定端口,必须转到“开始”->“程序”->“ SQL Server 2005”->“配置工具”->“ SQL Server配置管理器”

从这里,您必须转到SQL Server 2005网络配置->(服务名称)的协议->右键单击TCP / IP->属性->选择选项卡“ IP地址”,然后将TCP动态端口设置为。

由于某些原因,“ 0”表示“是,请使用动态端口”,并且(即,在字段中没有输入)菜单项“否,我将自己指定”

然后在“ TCP端口”字段中填写1433。

在列出的所有适配器上执行此操作,然后重新启动SQL Service。

现在,您可以通过执行以下操作来检查服务是否确实在正确的端口上

开始->运行-> cmd.exe

C:> netstat -ano

寻找这样的条目

 local address         <stuff>           PID
 0.0.0.0:1433                            <some number>

现在执行C:> tasklist

并从上面查找带有数字的任务。 该任务的名称应类似于sqlsrvr.exe。

可能您的SQL Server配置为使用多协议,并且它正尝试首先使用其他协议而失败,也许出于某种安全原因(该应用程序在IIS中运行的帐户)。 只是一个猜测。

检查ASP.NET计算机上“ SQL配置管理器”中的“ SQL本机客户端配置”设置。 在此设置默认的连接设置。 也可以尝试弄乱MDAC配置:

http://msdn.microsoft.com/en-us/library/ms131035.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM