sql azure感受1(数据导入)
来源:互联网 发布:为什么要使用数组 编辑:程序博客网 时间:2024/06/05 16:25
开始用SQL AZURE,如何把本地数据库导入到SQL AZURE中呢?
本地数据库是SQL 2008 R2 ,SQL AZURE看介绍应该也是
1,导入导出,很慢,而且出错
2,使用SQLAZUREMW,http://sqlazuremw.codeplex.com/ 速度明显快多了,简单,没有错误
具体介绍
摘自:http://msdn.microsoft.com/zh-cn/magazine/ff872379.aspx
使用 SQLAzureMW
George 创建了 SQLAzureMW 来帮助我们的客户完成 SQL 数据库迁移过程。图 6 显示了运行中的 SQLAzureMW。
图 6 使用 SQLAzureMW
SQLAzureMW 分析 SQL Server 数据库是否存在与 SQL Azure 的兼容性问题。它还允许您将数据库对象和数据从源数据库迁移到 SQL Azure。
通过使用 SQLAzureMW,数据库开发人员可以了解在将其数据库迁移到 SQL Azure 时将需要执行多少工作。如果 SQLAzureMW 标记出与 SQL Server 2000 或 2005 数据库的许多兼容性问题,我们建议首先将您的数据库升级到 SQL Server 2008,然后再迁移到 SQL Azure。已有很多文献说明迁移到 SQL Server 2008 的过程,您可以利用大量的指导和专业意见。有关迁移到 SQL Server 2008 的更多信息,请参见 SQL Server 2008 升级技术参考指南 (microsoft.com/downloads/details.aspx?FamilyID=66d3e6f5-6902-4fdd-af75-9975aea5bea7)。在 MSDN SQL Server 开发人员中心 (msdn.microsoft.com/sqlserver) 也提供了丰富的资源。
请注意,如果您没有 SQL Server 2008 R2,则您可以继续升级过程,而并不会因此受到影响。只需下载 SQL Server 2008 R2 Express Edition,并执行并行升级过程即可。
还有其他一些较好的资源可以帮助数据库开发人员了解 SQL Server 与 SQL Azure 之间的区别,比如哪些部分兼容和哪些部分不兼容,以及一般指导原则和限制等,这些资源包括msdn.microsoft.com/library/ee336281 处提供的 Transact-SQL 参考(SQL Azure 数据库)以及 msdn.microsoft.com/library/ee336245 处介绍的一般指导原则和限制。
无论您是决定首先升级到 SQL Server 2008 还是直接从 SQL Server 2000 或 2005 进行迁移,您都需要使用合适的方式来分析数据库的兼容性问题并生成与 SQL Azure 兼容的 SQL。这就是 SQLAzureMW 的真正用武之地。SQLAzureMW 不仅能分析数据库,在您想检查动态 SQL 的兼容性问题时,它还会分析 SQL Profiler 跟踪文件。
在迁移实验中,只需要极少修改,或根本无需修改,我们就能够将所有 SQL 数据库(SQL Server 2000 和 SQL Server 2005)迁移到 SQL Azure。剩余的两个需要解决的问题是身份验证和 SQL Azure 资源限制。
身份验证问题是由于 SQL Azure 仅支持 SQL 身份验证而不支持 Windows 身份验证所致。以我们的一个客户为例,这个客户必须修改连接字符串以反映用户名和密码而不是可信连接。例如,我们一开始看到了如下内容:
<add key="ConStr" value="server=DbSvr;database=CRMDB;Trusted_Connection=yes" />We simply changed the connection string to something like this:<add key="ConStr" value="Server=avl6qnn22s.database.windows.net;Database=CRMDB;User ID=WebSvrAdmin@avl6qnn22s;Password=password;Trusted_Connection=False;" />To get more information on connecting to SQL Azure using ADO.NET, see msdn.microsoft.com/library/ee336243.
资源限制
对于一些应用程序而言,解决 SQL Azure 资源限制需要执行的工作略多一些。有些应用程序采取仅当需要时且尽可能拖延到最后时刻才连接到 SQL 数据库这样的最佳实践,这些应用程序可以快速高效地执行所有事务并尽快释放连接,因此 SQL Azure 限制就不成为问题。相反,有些应用程序在启动时就建立与 SQL 数据库的连接,并在程序的整个生存期内或长时间持有连接,这些应用程序必须进行修改以实现重试逻辑,或进行重构以采取最佳实践并且不占用资源。
我们经常遇到一种误解,就是认为 SQL Azure 仅当连接空闲五分钟后才会断开连接。SQL Azure 在确定何时断开应用程序连接时要考虑几个因素,包括过度的资源占用、长时间运行的查询、长时间运行的单一事务以及空闲连接。
SQL Azure 团队将继续调整资源限制参数,但实际效果是应用程序必须在其自身中构建重试逻辑,因为 SQL Azure 将强制超过其资源利用参数的任何应用程序断开连接。
一般来说,如果 SQL Azure 对连接做出限制,它会提供特定的错误消息。有关错误的完整列表,请参见msdn.microsoft.com/library/ff394106。
如果您有大量小事务,则应使用以下模式:
- 使用连接池。连接池管理器将为您把连接保持为打开状态,并且打开和关闭连接对应用程序性能的影响将很小或根本无影响。
- 尽可能缩短连接持续时间。打开连接,执行您的事务,关闭连接。
- 对整个数据库活动使用 try-catch 模式。
- 如果合适,捕获异常并重试事务。
- 记录您的故障和异常,以帮助解决问题。确保获取 UTC 时间戳(或提供时间和时区)、连接上下文 ID 和异常编号。
SQLAzureMW 就是必须处理 SQL Azure 中的资源限制的一个典型应用程序。如前所述,SQLAzureMW 可以将内部部署 SQL 数据库迁移到 SQL Azure。如果您要迁移包含超过 1,000 个表、1,500 个存储过程和成百万行数据的数据库,则根据实际需要上载的数据量,花费的时间很可能要超过五个小时。
在这种情况下,SQLAzureMW 可以对 SQL Azure 以及要通过 BCP 迁移的数据执行超过 2,500 条的 TSQL 语句。在一条语句(或一个事务)中执行超过 2,500 条 TSQL 语句很可能会超出 SQL Azure 资源限制参数,从而导致连接终止。
SQLAzureMW 就是针对此问题的解决方案,它将事务分成较小的块,并一直运行,直至 SQL Azure 终止连接。SQLAzureMW 在遇到连接错误时,将与 SQL Azure 重新建立新连接,并接着最后一条成功的命令继续执行处理。同样,当使用 BCP 将数据上载到 SQL Azure 时,SQLAzureMW 将数据分块成较小的部分,并使用重试逻辑算出连接被关闭之前最后一条成功上载的记录。然后,它让 BCP 重新启动包含下一组记录的数据的上载。
- sql azure感受1(数据导入)
- sql azure感受2
- SQL Azure数据备份/导入导出方法
- sql azure试用感受3
- SQL AZURE试用感受4
- SQL AZURE试用感受5
- SQL AZURE试用感受7
- SQL AZURE试用感受8
- windows azure试用感受1
- 试用Windows Azure 感受
- windows azure试用感受2
- windows azure 试用感受3
- windows azure 试用感受4
- windows azure 试用感受5
- windows azure 试用感受6
- windows azure 试用感受7
- windows azure试用感受8
- windows azure试用感受9
- tuneup utilities 2012怎么用?全是英文 怎么使用?
- static_cast、dynamic_cast、reinterpret_cast和const_cast之间的区别
- Android中Intent的匹配框架(一)
- 更新widget中的背景
- 写的真好...很多姑娘爱高帅富,其实真正的原因是因为他们有质感,无论物质还是内心
- sql azure感受1(数据导入)
- Sed学习笔记
- Object-C 入门教程
- 安装fcitx
- ORCAL
- 最近有点忙
- FileWriter类在进行文件的读写时可以自动创建文件
- 批处理文件和ORACLE的功能
- 2011年 下半年 C++程序设计 (三十)