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

时间:2015-06-04 19:07:01

标签: sql azure timeout azure-sql-database tiers

我正在升级旧版azure网站,以使用旧网络层中的一个当前SQL azure层。

该网站在网站和本地工作正常,但当我从网络切换到基本或标准时,我得到超时错误。

超时的代码是遗留的:

        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数据库。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

Basic和Standard服务层具有与Web服务层不同的性能特征。特别是在Web中,如果托管数据库的计算机不忙,则可以获得Premium P2性能。

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

要解决此问题,您可以:

  1. 如果您可以忍受等待结果更长一段时间,请增加命令超时
  2. 扩展到更高的性能级别,为您提供更多资源,以便查询返回更快
  3. 此外,您应该检查是否可以优化查询或架构以减少执行时间。例如,确保您有适当的索引。 This article提供了性能调整指导,以帮助您入门。