首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从SSMS (从Azure数据科学VM)到Azure Sql数据库的间歇连接性下降

从SSMS (从Azure数据科学VM)到Azure Sql数据库的间歇连接性下降
EN

Stack Overflow用户
提问于 2019-03-14 11:19:20
回答 1查看 212关注 0票数 0

我从托管在Azure数据科学虚拟机上的SSMS连接到Azure sql数据库。我正在经历频繁的连接下降到Azure SQL数据库。

当连接中断时,我观察到了以下模式:

  1. 在SSMS上空闲2-3分钟
  2. Alt+Tab到不同的窗口,然后返回到SSMS
  3. 工作时间较长

DSVM连接到我们客户的域,我们通过Citrix连接到它。请提供任何解决间歇性连接问题的建议。

下面是我所做的一些疑难解答的细节。

EN

回答 1

Stack Overflow用户

发布于 2019-03-14 12:56:12

这似乎是一个DNS解析问题,因为您可以在您与我们共享的第一个屏幕上阅读。您似乎有间歇性的DNS名称解析。

打开命令提示符窗口,并使用PING命令确认名称解析成功地将逻辑服务器名转换为IP地址。下面显示的“请求超时”消息是预期的,因为SQL数据库永远不会响应ping请求。

代码语言:javascript
复制
C:\>ping <myserver>.database.windows.net
Pinging data.sn1-1.database.windows.net [65.55.74.144] with 32 bytes of data:

Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 65.55.74.144:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)

如果此步骤间歇性失败,请与您的网络管理员、Citrix管理员或Internet服务提供商联系,以帮助解决您的名称解决问题。

接下来,在命令提示符窗口中,尝试使用上一步返回的IP地址将telnet发送到端口1433。这将测试是否有防火墙/路由器阻塞到端口1433的流量。

代码语言:javascript
复制
C:\>telnet 65.55.74.144 1433

Connecting To 65.55.74.144...

a.If Telnet是成功的,窗口将更改为一个完全空白的屏幕。退出并继续下一步。b.If不成功,捕获输出并将其提供给您的网络管理员或Citrix管理员以及跟踪输出。

接下来,在命令提示符窗口中,通过尝试将DNS名称而不是IP地址转帐来重复测试。

代码语言:javascript
复制
C:\>telnet <myserver>.database.windows.net 1433

注意:如果Telnet不是默认windows安装的一部分,则可以通过添加/删除Windows组件启用它。

最后,要隔离网络问题,请使用Microsoft工具(如 one )生成一个网络跟踪。

通过添加过滤器TCP.port==1433来检查跟踪,该过滤器将显示TCP端口1433上的会话。如果您没有看到从服务器返回的ACK,则很有可能连接在您的网络或internet上被阻塞。

来自未成功连接的网络片段:

代码语言:javascript
复制
11:12:27.007      25   {TCP:7, IPv4:6}  111.11.11.111    data.sn1-1.database.windows.net   TCP        TCP:Flags=......S., SrcPort=49411, DstPort=1433, PayloadLen=0, Seq=2375502765, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 8192
11:12:30.007 26 {TCP:7, IPv4:6} 111.11.11.111 data.sn1-1.database.windows.net TCP TCP:[SynReTransmit #25]Flags=......S., SrcPort=49411, DstPort=1433, PayloadLen=0, Seq=2375502765, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 8192 11:12:36.007 29 {TCP:7, IPv4:6} 111.11.11.111 data.sn1-1.database.windows.net TCP TCP:[SynReTransmit #25]Flags=......S., SrcPort=49411, DstPort=1433, PayloadLen=0, Seq=2375502765, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 819211:12:48.014      40   {TCP:12, IPv4:6} 111.11.11.111    data.sn1-1.database.windows.net   TCP        TCP:Flags=......S., SrcPort=49412, DstPort=Microsoft-DS(445), PayloadLen=0, Seq=3206081271, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 8192
11:12:49.015      41   {TCP:13, IPv4:6} 111.11.11.111    data.sn1-1.database.windows.net   TCP        TCP:Flags=......S., SrcPort=49413, DstPort=Microsoft-DS(445), PayloadLen=0, Seq=1361088072, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 8192
11:12:49.019      42   {IPv4:6}         111.11.11.111    data.sn1-1.database.windows.net   ICMP       ICMP:Echo Request Message, From 111.11.11.111 To 65.55.74.144
11:12:50.769      45   {IPv4:6}         111.11.11.111    data.sn1-1.database.windows.net   ICMP       ICMP:Echo Request Message, From 111.11.11.111 To 65.55.74.144
11:12:51.014 46 {TCP:12, IPv4:6} 111.11.11.111 data.sn1-1.database.windows.net TCP TCP:[SynReTransmit #40]Flags=......S., SrcPort=49412, DstPort=Microsoft-DS(445), PayloadLen=0, Seq=3206081271, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 8192 11:12:52.015 47 {TCP:13, IPv4:6} 111.11.11.111 data.sn1-1.database.windows.net TCP TCP:[SynReTransmit #41]Flags=......S., SrcPort=49413, DstPort=Microsoft-DS(445), PayloadLen=0, Seq=1361088072, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 819211:12:52.771      48   {TCP:14, IPv4:6} 111.11.11.111    data.sn1-1.database.windows.net   TCP        TCP:Flags=......S., SrcPort=49414, DstPort=NETBIOS Session Service(139), PayloadLen=0, Seq=265110652, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 8192
11:12:55.771 49 {TCP:14, IPv4:6} 111.11.11.111 data.sn1-1.database.windows.net TCP TCP:[SynReTransmit #48]Flags=......S., SrcPort=49414, DstPort=NETBIOS Session Service(139), PayloadLen=0, Seq=265110652, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 8192 11:12:57.021 52 {TCP:12, IPv4:6} 111.11.11.111 data.sn1-1.database.windows.net TCP TCP:[SynReTransmit #40]Flags=......S., SrcPort=49412, DstPort=Microsoft-DS(445), PayloadLen=0, Seq=3206081271, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 8192 11:12:58.016 53 {TCP:13, IPv4:6} 111.11.11.111 data.sn1-1.database.windows.net TCP TCP:[SynReTransmit #41]Flags=......S., SrcPort=49413, DstPort=Microsoft-DS(445), PayloadLen=0, Seq=1361088072, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 8192 11:13:01.771 56 {TCP:14, IPv4:6} 111.11.11.111 data.sn1-1.database.windows.net TCP TCP:[SynReTransmit #48]Flags=......S., SrcPort=49414, DstPort=NETBIOS Session Service(139), PayloadLen=0, Seq=265110652, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 8192

在这里,我们可以看到客户端正在尝试建立到SQL数据库的连接,并且不断地重传三次,但是失败了

成功连接的跟踪片段:

代码语言:javascript
复制
14:50:01.512      847  SQLCMD.EXE  {TCP:428, IPv4:427}  99.99.999.99      157.54.118.18    TCP        TCP:Flags=......S., SrcPort=13415, DstPort=1433, PayloadLen=0, Seq=4009972475, Ack=0, Win=8192 ( Negotiating scale factor 0x2 ) = 8192
14:50:01.515      848  SQLCMD.EXE  {TCP:428, IPv4:427}  157.54.118.18     99.99.999.99     TCP        TCP:Flags=...A..S., SrcPort=1433, DstPort=13415, PayloadLen=0, Seq=2117383693, Ack=4009972476, Win=8192 ( Scale factor not supported ) = 8192
14:50:01.516      849  SQLCMD.EXE  {TCP:428, IPv4:427}  99.99.999.99      157.54.118.18    TCP        TCP:Flags=...A...., SrcPort=13415, DstPort=1433, PayloadLen=0, Seq=4009972476, Ack=2117383694, Win=17040 (scale factor 0x0) = 17040

上面的片段代表了一个成功的三方握手。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55161177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档