SQL Azure - 连接失败 - 但没有问题?

Tom*_*day 9 sql-server entity-framework azure azure-sql-database

我们最近在生产部署过程中将客户端迁移到SQL Azure平台.通过所有外在的迹象,它是成功的:连接到它的网络应用程序都在工作.

但是,当我们查看Azure监视器时,我们会看到许多连接失败.我们找不到太多文档来解释什么构成失败的连接.我们的用户都没有报告问题.有谁知道这可能是怎么回事?

在此输入图像描述

使用本文中的示例查询(在SQL Azure实例上查看连接问题)

SELECT      
            [Date From] = EL.[start_time],
            [Date To] = EL.[end_time],
            [Database Name] = EL.[database_name],
            [Event Type] = EL.[event_type],
            [Event Sub Type] = EL.[event_subtype_desc],
            [Description] = EL.[description],
            [Additional Data] = EL.additional_data
FROM sys.event_log EL
WHERE EL.event_type != 'connection_successful'
AND EL.event_subtype_desc != 'idle_connection_timeout'
ORDER BY [Date From] DESC
Run Code Online (Sandbox Code Playgroud)

我们看到这样的结果:

2013-04-19 16:40:00.0000000 2013-04-19 16:45:00.0000000 [DATABASE]  connection_failed   blocked_by_firewall Client IP address is not allowed to access the server.  NULL
2013-04-19 16:40:00.0000000 2013-04-19 16:45:00.0000000             connection_failed   blocked_by_firewall Client IP address is not allowed to access the server.  NULL
2013-04-19 16:35:00.0000000 2013-04-19 16:40:00.0000000 [DATABASE]  connection_failed   blocked_by_firewall Client IP address is not allowed to access the server.  NULL
2013-04-19 16:35:00.0000000 2013-04-19 16:40:00.0000000             connection_failed   blocked_by_firewall Client IP address is not allowed to access the server.  NULL
2013-04-19 16:30:00.0000000 2013-04-19 16:35:00.0000000 [DATABASE]  connection_failed   blocked_by_firewall Client IP address is not allowed to access the server.  NULL
2013-04-19 16:30:00.0000000 2013-04-19 16:35:00.0000000             connection_failed   blocked_by_firewall Client IP address is not allowed to access the server.  NULL
2013-04-19 16:25:00.0000000 2013-04-19 16:30:00.0000000 [DATABASE]  connection_failed   blocked_by_firewall Client IP address is not allowed to access the server.  NULL
2013-04-19 16:25:00.0000000 2013-04-19 16:30:00.0000000             connection_failed   blocked_by_firewall Client IP address is not allowed to access the server.  NULL
2013-04-19 16:20:00.0000000 2013-04-19 16:25:00.0000000 [DATABASE]  connection_failed   blocked_by_firewall Client IP address is not allowed to access the server.  NULL
2013-04-19 16:20:00.0000000 2013-04-19 16:25:00.0000000             connection_failed   blocked_by_firewall Client IP address is not allowed to access the server.  NULL
2013-04-19 16:15:00.0000000 2013-04-19 16:20:00.0000000 [DATABASE]  connection_failed   blocked_by_firewall Client IP address is not allowed to access the server.  NULL
Run Code Online (Sandbox Code Playgroud)

以及我们的连接字符串示例,如下所示:

  <add name="[MyContext]"
     providerName="System.Data.SqlClient"
     connectionString="
      Server=tcp:[machine].database.windows.net,1433;
          Database=[database];
          User ID=[user]@[machine];
          Password=[password];
          Trusted_Connection=False;
          Encrypt=True;
          Connection Timeout=30;"/>
Run Code Online (Sandbox Code Playgroud)

Tom*_*day 1

因此,自从发布第一天以来,我们就没有再看到连接失败的情况。我目前的想法是,Azure 端可能有一个后端进程无法在新实例中正常运行,但此后要么停止要么已修复,因为我们没有更改任何内容。我将让它再放置几天,如果我们没有看到任何更多问题,请将其归因于环境设置故障。

在此输入图像描述

这是大约一周后的状态。不是一个经常使用的站点,但没有任何连接错误的迹象。

在此输入图像描述