积极答复者
为什么打开了1433还不能登陆SQL数据库,另外登陆之后为什么有时候不显示绿色三角图标,而只是一个白色大圆点

问题
答案
-
关于您说的:“左边会显示绿色播放三角图标,有的时候显示不了,只是一个白色大圆点,一阵一阵的,为什么呢?是否会影响使用”
LZ说的是下图那个图标是吧,有时候有绿色三角像下图,有时候是百色大圆点,这个不影响使用的,LZ不用担心
还有你开放了1433之后不能访问,请LZ检查一下防火墙,还有LZ连接的是不是默认实例,如果不是默认实例,需要开1434端口,并且打开sql browser才可以访问命名实例的
- 已建议为答案 亂馬客 2013年7月27日 23:42
- 已标记为答案 Lisa Zhang - MSFTModerator 2013年8月4日 8:57
-
1. named instance uses dynamic port number by default, that's why need port 1434 and sql browser service to tell sql client which port is used. But you can change port number to 1433 in sql configuration manager.
2. if you connect to sql with account that has local admin rights on sql server, you'll see green triangle on it in ssms. Otherwise, it shows a white dot.
- 已建议为答案 亂馬客 2013年7月27日 23:42
- 已标记为答案 Lisa Zhang - MSFTModerator 2013年8月4日 8:57
全部回复
-
关于您说的:“左边会显示绿色播放三角图标,有的时候显示不了,只是一个白色大圆点,一阵一阵的,为什么呢?是否会影响使用”
LZ说的是下图那个图标是吧,有时候有绿色三角像下图,有时候是百色大圆点,这个不影响使用的,LZ不用担心
还有你开放了1433之后不能访问,请LZ检查一下防火墙,还有LZ连接的是不是默认实例,如果不是默认实例,需要开1434端口,并且打开sql browser才可以访问命名实例的
- 已建议为答案 亂馬客 2013年7月27日 23:42
- 已标记为答案 Lisa Zhang - MSFTModerator 2013年8月4日 8:57
-
1. named instance uses dynamic port number by default, that's why need port 1434 and sql browser service to tell sql client which port is used. But you can change port number to 1433 in sql configuration manager.
2. if you connect to sql with account that has local admin rights on sql server, you'll see green triangle on it in ssms. Otherwise, it shows a white dot.
- 已建议为答案 亂馬客 2013年7月27日 23:42
- 已标记为答案 Lisa Zhang - MSFTModerator 2013年8月4日 8:57
-
im sure the account that i used has local admin permission (domain admins), just sometims it’s show green triangle,but sometimes it's blank
BTW,i could‘t telnet 1433 when i was enable the inbound rules (open tcp 1433 in SQL server host),why?but i can logon by SQL browser,thanks
-
thanks for your kindly reply~~
i found tcp dyn port 57910 in my SQL configure managerment, so should i creat one new ACL in windows firewall? or add 1433 static port? can these ports coexist?
could you please tell me a easy way to make sure all of tcp\ip connectivity of SQL instance can works fine
(i don't like disable FW or permit any-any)
thanks so much, rmiao~
-
LZ给您一些资料
---------------------SQLSERVER解析协议SSRP与SQL Browser服务--------------------------------------------------------- --SQL2000以前,一台计算机只能安装一个SQL实例 --SQL2005引入对SQL多个实例的支持,却只有默认的SQL实例可以使用1433端口 --命名实例每次启动绑定的端口号都不一样 --SQL产品组开发了SQLSERVER解析协议SSRP,用于侦听UDP1434 --当任何一个客户端要访问这台服务器上的SQL实例时,都会先询问UDP1434端口, --然后由SSRP协议告诉客户端本台服务器上所安装的SQLSERVER实例的端口号以及 --管道名字,客户端根据这个反馈,知道该和哪个端口或管道连接了 --客户端(说明要连接的实例,不说明就默认实例)----》UDP1434----》SSRP---》实例的端口号或管道名 --客户端----》端口号或管道名 --默认实例---》对应的端口1433 或 管道名字 --命名实例---》SSRP---》对应的端口号 或管道名字 --SQL Browser启动后,启动并使用1434端口。读取注册表 --HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\MSSQLServer\SuperSocketNetLib\ --下的各个项目,识别计算机上的所有SQL实例,并标明它们使用的端口和命名管道 --当一台服务器有多个网卡时,SQL Browser会为SQL返回其遇到的第一个已启用的端口 --当SQL客户端请求SQL资源时,客户端数据驱动程序将使用1434端口向服务器发送一条UDP消息, --SQL Browser会回应请求实例的TCP/IP或命名管道名称。 --然后客户端使用所需实例的端口或命名管道向服务器发送请求来完成连接 --当SQL Browser不运行时,如果你提供正确的端口号或命名管道,依然可以连接SQL --如果SQL的默认实例的端口号是1433,则可以使用TCP/IP连接此默认实例 --即是话:如果使用TCP/IP连接到远程机器的默认实例,因为默认实例的端口就是1433 --那么开不开SQL Browser都无所谓!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --如果停掉SQL Browser以下连接无效 --未提供端口号或管道名字就连接到命名实例 --未完全指定所有参数情况下(管道名字 TCP/IP端口)尝试连接到命名实例 --未使用TCP1433情况下,将DAC连接到命名实例或默认实例(反正就要开SQL Browser) --枚举局域网中的SQL服务器 如果局域网中的SQL服务器没有开SQL Browser --关掉了手提的SQL Browser 在台式机里看不到JOE\SQLEXPRESS,因为JOE\SQLEXPRESS是命名实例 --开启SQL Browser,就可以看到JOE\SQLEXPRESS了,但是就看不到默认实例joe了 --如果连接命名实例,需要在防火墙或网关上打开UDP1434端口 --SQL Browser的启动帐号要有读写注册表的权力,否则会导致客户端连接不上
--在配置管理器里默认的TCP/IP的端口号是1433。 --你可以改变这个默认值为别的端口号,只要该端口号没有被系统或别的 --应用程序占用即可。一般来说高于5000的端口号可以随意使用,或者使用 --小于1024的操作系统或其他应用程序不使用的空闲端口号。为什麽不用 --1024至5000之间的端口号呢?因为默认情况下操作系统会把这个范围的 --端口分配给服务或应用程序使用。为了避免潜在的端口冲突,因此使用 --5000以上或1024以下的值。实际上,不论哪个范围,只要是空闲的没 --使用的端口都可以。微软有一篇很好的技术文档详细讨论了Windows --系统使用的一些端口号 --http://support.microsoft.com/?id=832017 --使用netstat命令监听SQL监听的端口 --netstat /ano --根据最后一列pid找到SQL的进程 --列出系统中所有使用中的端口号 --TCP:1433 是SQL服务自己侦听的 UDP:1434是SQL Browser侦听的 ---------------------客户端的TCP/IP协议配置----------------------------------------- --cliconfg客户端网络实用工具配置启用TCP/IP协议 --解决步骤: --1、是否监听TCP/IP 看SQL的errorlog --Server is listening on [ 'any' <ipv4> 1433]. --如果没有监听,请运行sernetcn.exe确认是否配置好SQL监听TCP/IP协议 --2、验证服务器监听的TCP/IP端口和客户端配置的默认值或别名中指定的值一致 --3、检查网络连通性 --要ping通IP地址 ping通SQL服务器的计算机名 --如果ping计算机名有问题,说明DNS或者WINS服务器有问题 --WINS用来登记NetBIOS计算机名,并在需要时将它解析成为IP地址。WINS数据库是动态更新的。 --IP地址和计算机名发送到wins数据库 --4、使用telnet命令检查SQL监听端口 --telnet 192.168.1.100 1433 --如果成功,那么结果是一个只有光标在闪的黑色屏幕。如果不成功,你会得到出错信息 --5、检查登录用户SQL访问权限 --友情贴士 --1、配置多个静态端口 --在服务器网络配置实用工具配置 --监听多个端口意义不大,如果认为有网络性能问题,还不如在服务器上增加两三块网卡,多网卡带来 --带来的性能提升比多端口要好很多 --一张网卡一个入口,多张网卡多个入口 --2、TCP/IP端口绑定失败 --如果配置的静态端口被其他服务或应用程序占用,SQL将无法在该端口绑定监听。 --在SQL日志中会有如下信息: --server supersocket info:bind failed on TCP port 1433 --这时候可以指定其他静态端口,或者停止一些服务或应用程序后重启 --3、检查连接使用的协议 SELECT net_library,hostname,program_name,nt_domain,nt_username,loginame from sys.sysprocesses WHERE spid=@@SPID --4、访问防火墙后面的SQL --必须配置防火墙以允许从*ANY*到1433的通信,以及从1433到*ANY*的通信,其中*ANY*是大于1024的端口 --*ANY*->1433 --1433->*ANY* --如果SQL监听的不是1433端口,那么要把上面的端口做相应的变化,如果是命名实例并使用动态端口, --还必须打开UDP1434端口 --*ANY*->1434 --1434->*ANY* --通过防火墙与SQL进行通信所需的TCP端口 --http://support.microsoft.com/?id=287932 --5、在SSMS中指定连接的协议和端口 --默认实例 --tcp:MySQLServer,1433 --命名实例 --tcp:MYSQLServer\inst1,1433 --6、最后一招 --使用network monitor工具捕捉网络包分析。有些连接和认证问题常规手段不能解决 --使用network monitor来分析问题的直接原因。作为DBA,具备网络知识是有帮助的。 --使用network monitor来捕捉网络包是费时费力的活 --如何使用网络监视器捕捉网络通信量 --http://support.microsoft.com/default.aspx?kbid=148942