sql - 在基本/标准层上访问 SQL Azure 超时 - 在 Web 层上工作正常

标签 sql azure timeout azure-sql-database tiers

我正在升级旧版 Azure 网站,以使用旧 Web 层中的当前 SQL Azure 层之一。

该网站在网站和本地运行良好,但当我从 Web 切换到基本或标准时,出现超时错误。

超时的代码是遗留代码:

        SqlConnection Conn;
        Conn = new SqlConnection(StrConn);
        Conn.Open();
        try
        {
            SqlDataAdapter Cmd;
            DataSet dtSet;
            DataTable dtTable;


            Cmd = new SqlDataAdapter(_sql, Conn);
            dtSet = new DataSet();
            Cmd.Fill(dtSet);
            dtTable = new DataTable();
            dtTable = dtSet.Tables[0];
            Cmd = null;
            return dtTable;
        }
        finally
        {
            Conn = null;
        }

连接字符串未更改。

我可以从 Visual Studio 正常访问基本 SQL 数据库。

有什么建议吗?

最佳答案

基本和标准服务层具有与 Web 服务层不同的性能特征。特别是在 Web 中,如果托管数据库的计算机不忙,您可以获得高级 P2 性能。

当您运行上述代码时,连接到数据库并查询 View sys.dm_db_resouce_stats查看是否最大限度地发挥了数据库的可用性能。

要解决此问题,您可以:

  1. 如果您可以容忍等待结果的时间更长,请增加命令超时
  2. 扩展到更高的性能级别,为您提供更多资源,从而加快查询返回速度

此外,您还应该检查是否可以优化查询或架构以减少执行时间。例如,确保您有适当的索引。 This article有性能调优指南帮助您入门。

一月

关于sql - 在基本/标准层上访问 SQL Azure 超时 - 在 Web 层上工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30652087/

相关文章:

sql - 我怎么知道日期是否在特定时间段内

c# - 为什么 Azure 服务总线认为未设置 DefaultTimeToLive 属性?

objective-c - iOS 超时功能无法正常工作

ruby-on-rails-3 - Heroku、H12 和直通上传超时

.net - .Net 2.0 的可靠 HTTP 库

mysql - 具有 1 个相同列的多个表 SQL

sql - 优化不平等的左连接

mysql - DBMS 似乎在事务中提交(新手问题)

azure - MS Teams 通知机器人安装不会保留在 Azure blob 存储中

azure - 通过查看 Cosmos DB 指标日志来计算平均 RUN