SQL Azure数据库部署最佳实践(下)
创始人
2024-07-17 19:01:33
0

接上文:SQL Azure数据库部署***实践(上)

如果你运行一个长事务,或者如果连接空闲时间过长,SQL Azure也会切断现有连接。在这两种情况下,阈值是五分钟。那么,你将如何处理呢?你可以在最短时间内保持连接打开避免闲置事务。一旦你执行完一条命令、关闭连接并把连接返回到池中。

演示代码如下:

using (SqlConnection cn = new SqlConnection(…))
{
cn.Open();
using (SqlCommand cmd = cn.CreateCommand())
{
cmd.CommandText = …;

}
}


如果在一个连接池中获得连接,连接失效的几率是最小的。不过,如果你的命令执行超过五分钟并且很难处理则您的连接将由SQL Azure关掉。您可以把更新划分为若干批量的小任务。除此之外,需要确保数据库是索引良好的。

由于系统负载过高,SQL Azure限制数据库活动时您的连接也会断开。

为了防止在任何情况下的连接断开,应开发SQL Azure的应用程序使它们能够处理连接的错误并且不用用户参与即可透明的重连接。

此外,您可能需要添加代码来处理因为超时或者连接断开时对数据库进行的更新重试。这将是大量的额外代码,但幸运的是微软已经做了一些工作。在微软AppFabric客户咨询小组网站上检索到“Best Practices for Handling Transient Conditions in SQL Azure Client Applications”这篇文章。该文介绍了可能遇到的连接错误并给出如何处理它们的示例代码。该文结尾有一个链接可以让你下载示例代码。

***一个建议是如何获得SQL Azure的客户支持。如果您的应用程序遇到问题并需要帮助,请先确保您获得应用程序会话的ID。SQL Azure在他们的网站上记录错误和活动。如果你给他们会话ID,支持团队可以更容易弄清楚是怎么回事。

下面的C#代码显示了如何检索连接的会话ID:

cmd.CommandText = "Select CONVERT(nvarchar(36), CONTEXT_INFO())";
SessionId = new Guid(cmd.ExecuteScalar().ToString());


本文讨论了若干开发人员和数据库管理员在与SQL Azure打交道时可能遇到的几个问题,并提供了如何处理这些问题的指南和***实践。
 

【编辑推荐】

  1. SQL Azure数据库部署***实践(上)
  2. 微软公布云计算平台Azure收费模式细节
  3. 云计算意在长远,微软云计算服务Windows Azure已经启用
  4. 技术透析:Windows Azure Platform框架与组成
  5. 微软Windows Azure Platform技术解析
  6. 走近微软云:SQL Server到Azure数据同步
  7. 当微软Azure遭遇亚马逊EC2:五大关键区别

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...