笔记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

 

posted @ 2013-07-27 15:50 桦仔 阅读(...) 评论(...)  编辑 收藏