回答

0

如果你正在寻找一个工具来做到这一点,看看其中有一个功能导入数据从SQL Server天青表存储云存储工作室(http://www.cerebrata.com/products/cloudstoragestudio)。我没有检查很长时间,但我相信ClumsyLeaf的TableXplorer(http://www.clumsyleaf.com)也具有此功能。很久以前,我们还建立了一个开源工具来做同样的事情。你可以在这里找到它:http://azuredatabaseupload.codeplex.com/

正如David所说的,你基本上可以在数据库中写入一些视图来获取超过7天的数据。这个想法很简单:您获取数据,将SQL Server数据类型映射到Azure数据类型,选择适当的PartitionKey/RowKey值,将数据转换为实体,然后批量上传实体。

+0

云存储工作室的优点。我没有提出桌面风格工具的唯一原因:我认为这需要在角色实例中以自动方式运行,这意味着需要在角色启动时安装Cloud Storage Studio。好奇:它是否也有任何类型的命令行自动化选项? (如果没有:随时添加它,所以我可以告诉人们我提出了这个想法!)。 –

+0

David,目前它没有“从命令行调用”功能。但是,我们在CSS中将此功能构建在开源的CodePlex上。人们可以从那里获取代码并相应地进行修改。 –

1

我觉得你最好最好是有一组返回超过7天的数据的SQL查询(或存储过程)的。然后有表格插入代码,将这些数据写入一个或多个表格,并根据您的查询需求使用适当的分区/行键。然后,只需构建一些类型的后台操作即可执行读取+写入+删除。没有工具可以做到这一点(我知道),因为一个是关系数据库,另一个是没有特定模式的NoSQL变体。

要优化写入操作,请参阅是否可以同时写入批次的行(这称为实体组事务处理)。它优化了事务处理的数量,并且组中的行将以原子方式写入。查看有关实体组交易的更多信息,here

您还可能要考虑使用队列来分配工作负载。也就是说,也许每天一次(或每小时一次)推送一个队列消息,告诉一些后台进程将数据从SQL传输到表存储。这样,如果在操作过程中出现故障,您可以稍后再处理,因为队列消息仍然存在(如果操作成功,您只会删除消息)。

相关问题