我很困惑,因为tcpview显示sqlservr.exe侦听这些端口49371,49373,52732,但在SqlServerconfigurationpipe理器 – > SQL本机客户端10.0configuration – >客户端协议和TCP / IP的属性,默认端口是1433。为什么我没有看到1433被听到呢? 我觉得这很奇怪。
我的所有实例都有一个dynamic端口设置为某个数字。 有什么想法发生在这里? 因为我想远程连接我的SQL Management Studio,但现在还不行。 我可以连接本地的。
我的最终游戏是连接Visual Studio的实体生成,如果我可以得到SQLpipe理工作室,我想我可以从那里,但似乎无法得到这个工作。
编辑:更多的笔记。 在我干净的安装机器上,它也没有侦听端口1433. TCP已启用,并且是订单2(共享内存是订单1)。 我很困惑,怎么来默认安装说默认端口是1433,但没有人在该端口上侦听?
版本:2008 R2和刚刚安装的服务包。
基本的问题,但…这应该如何工作? 我在本地安装了两个实例,每个实例都以dynmaic端口和tcpview结束,我确认它占用了那个dynamic端口。 这个端口1433每个人都指的是,就像一个redirect到这些dynamic端口的代理实例,或者我只是应该从dynamic端口改为1433的固定TCP端口?
当你继续安装MS SQL实例会发生什么? 它不能把它们都放在1433端口,对吧? 是应该把第一个港口1433? 你在这里有什么经验?
谢谢,Dean
这可能是不是sqlserver.exe正在侦听,但另一个进程
用netstatvalidation。 我的SQL说:
C:\Users\Administrator.ENV1>netstat -a Active Connections Proto Local Address Foreign Address State TCP 0.0.0.0:80 ENV1S08:0 LISTENING TCP 0.0.0.0:135 ENV1S08:0 LISTENING TCP 0.0.0.0:445 ENV1S08:0 LISTENING TCP 0.0.0.0:1433 ENV1S08:0 LISTENING TCP 0.0.0.0:2383 ENV1S08:0 LISTENING
查看SQL Server的ERRORLOG文件。 日志将清楚地说明SQL Server侦听的端口。
你看到的其他端口与netstat等,并不总是有用的客户端连接。
这个答案有点长。 如果你不读任何东西,请阅读SQL浏览器的一些细节 。 该页面来自SQL 2005,但我不认为自那时起SQL Browser行为已经发生了实质性的变化。
容易被忽视的是,SQL浏览器是微软计划的重要组成部分。 SQL浏览器作为Windows服务运行,并使用1434作为一种目录服务,可以查找本地计算机上安装的实例。 在运行时build立数据库连接时,驱动程序可以与此服务进行交互,以确定驱动程序需要连接的端口。 所以,SQL浏览器也不是一个代理。 这真的是一种超级简单的目录服务。
通常,SQL Server连接将被设置为默认(或“未命名”)实例:
或连接到“已命名”实例:
对于默认实例,应该在1433上进行监听。IIRC,标准VS安装程序仅安装一个(SQL Server Express)命名实例。 在这种情况下,1433就不会有任何东西在听。
命名实例在启动时将被分配一个端口。 无论哪种方式,这并不重要,因为SQL浏览器服务知道它们在哪里,它们的名字是什么,并且可以查找一个端口号,给定一个实例名称。 连接string通常只传递实例名称,因为用户应用程序通常不了解端口的任何信息。
你提到“你所有的实例”,但是你并不区分名字和未名字的实例,这让我怀疑你没有默认的(a / k / a“unnamed”)实例。
可以手动configuration所有这些,并指定端口值,然后禁用SQL Browser服务。 这有点类似于在你的networking上closuresDHCP。
手动configuration通常是为了支持防火墙规则,我只看到它在服务器上完成,而不是在开发工作站上完成。 你声明不能够“远程”连接,但你可以连接到“本地一个”有点让我困惑,因为我认为你会在一台机器上讨论实例。 如果您尝试连接到在远程计算机上运行的命名实例,即使它位于LAN / WAN而不是开放的Internet上,也很可能被(软件或硬件)防火墙阻止。
没关系,所以出于某种原因,两台服务器上的实例都没有在1433端口上创build一个实例,所以虽然我们的设置表示默认端口是1433,但是每次安装一个实例时,都会给它一个新的dynamic端口。 我终于进来,从Dyanmice更改实例A到固定在1433,一切都很好! 我还将所有其他实例更改为固定的,因为dynamic端口都处于其他应用程序绑定并连接到服务器的非常高的范围内,通常情况下最好在较低范围内有一个端口,因为这些端口不是一般用于客户端套接字。