笔记25-徐 TCP/IP协议连接失败检测
笔记25-徐 TCP/IP协议连接失败检测
1 --TCP/IP协议连接失败检测 2 3 --如果新添加TCP/IP协议,需要重启SQL才能生效。 4 5 --如果SQL服务器的IP地址改变,重启SQL或者重启电脑就可以了 6 --但是我改了网卡的IP地址为192.168.1.108,用IP地址来进入SSMS,都可以进入不用重启SQL服务 7 --SQL配置管理器里的TCP/IP协议那里配置还是192.168.1.100,无论是否重启SQL服务 8 --SQL会自动监听机器的新IP地址,无须重装或配置SQL 9 10 11 12 13 --在配置管理器里默认的TCP/IP的端口号是1433。 14 --你可以改变这个默认值为别的端口号,只要该端口号没有被系统或别的 15 --应用程序占用即可。一般来说高于5000的端口号可以随意使用,或者使用 16 --小于1024的操作系统或其他应用程序不使用的空闲端口号。为什麽不用 17 --1024至5000之间的端口号呢?因为默认情况下操作系统会把这个范围的 18 --端口分配给服务或应用程序使用。为了避免潜在的端口冲突,因此使用 19 --5000以上或1024以下的值。实际上,不论哪个范围,只要是空闲的没 20 --使用的端口都可以。微软有一篇很好的技术文档详细讨论了Windows 21 --系统使用的一些端口号 22 --http://support.microsoft.com/?id=832017 23 24 --使用netstat命令监听SQL监听的端口 25 --netstat /ano 26 --根据最后一列pid找到SQL的进程 27 --列出系统中所有使用中的端口号 28 29 --TCP:1433 是SQL服务自己侦听的 UDP:1434是SQL Browser侦听的 30 31 ---------------------客户端的TCP/IP协议配置----------------------------------------- 32 --cliconfg客户端网络实用工具配置启用TCP/IP协议 33 --解决步骤: 34 35 --1、是否监听TCP/IP 看SQL的errorlog 36 --Server is listening on [ 'any' <ipv4> 1433]. 37 --如果没有监听,请运行sernetcn.exe确认是否配置好SQL监听TCP/IP协议 38 39 --2、验证服务器监听的TCP/IP端口和客户端配置的默认值或别名中指定的值一致 40 41 --3、检查网络连通性 42 --要ping通IP地址 ping通SQL服务器的计算机名 43 --如果ping计算机名有问题,说明DNS或者WINS服务器有问题 44 --WINS用来登记NetBIOS计算机名,并在需要时将它解析成为IP地址。WINS数据库是动态更新的。 45 --IP地址和计算机名发送到wins数据库 46 47 --4、使用telnet命令检查SQL监听端口 48 --telnet 192.168.1.100 1433 49 --如果成功,那么结果是一个只有光标在闪的黑色屏幕。如果不成功,你会得到出错信息 50 51 --5、检查登录用户SQL访问权限 52 53 54 --友情贴士 55 --1、配置多个静态端口 56 --在服务器网络配置实用工具配置 57 --监听多个端口意义不大,如果认为有网络性能问题,还不如在服务器上增加两三块网卡,多网卡带来 58 --带来的性能提升比多端口要好很多 59 --一张网卡一个入口,多张网卡多个入口 60 61 --2、TCP/IP端口绑定失败 62 --如果配置的静态端口被其他服务或应用程序占用,SQL将无法在该端口绑定监听。 63 --在SQL日志中会有如下信息: 64 --server supersocket info:bind failed on TCP port 1433 65 66 --这时候可以指定其他静态端口,或者停止一些服务或应用程序后重启 67 68 69 --3、检查连接使用的协议 70 SELECT net_library,hostname,program_name,nt_domain,nt_username,loginame from sys.sysprocesses WHERE spid=@@SPID 71 72 73 --4、访问防火墙后面的SQL 74 --必须配置防火墙以允许从*ANY*到1433的通信,以及从1433到*ANY*的通信,其中*ANY*是大于1024的端口 75 --*ANY*->1433 76 --1433->*ANY* 77 78 --如果SQL监听的不是1433端口,那么要把上面的端口做相应的变化,如果是命名实例并使用动态端口, 79 --还必须打开UDP1434端口 80 --*ANY*->1434 81 --1434->*ANY* 82 --通过防火墙与SQL进行通信所需的TCP端口 83 --http://support.microsoft.com/?id=287932 84 85 --5、在SSMS中指定连接的协议和端口 86 --默认实例 87 --tcp:MySQLServer,1433 88 --命名实例 89 --tcp:MYSQLServer\inst1,1433 90 91 --6、最后一招 92 --使用network monitor工具捕捉网络包分析。有些连接和认证问题常规手段不能解决 93 --使用network monitor来分析问题的直接原因。作为DBA,具备网络知识是有帮助的。 94 --使用network monitor来捕捉网络包是费时费力的活 95 --如何使用网络监视器捕捉网络通信量 96 --http://support.microsoft.com/default.aspx?kbid=148942