如何在现有的azure sql数据库中创建联合

时间:2013-06-26 13:51:33

标签: asp.net sql azure azure-sql-database federation

对azure联盟来说还是一个新手。在我的项目中有一个现有的SQL azure数据库,现在我们想要使用azure联合来扩展该数据库。

如何在我现有的表myCustomer上实现此目的。我打算根据customer_Id联合表。任何相关的教程可用吗?从哪里开始。

通过联盟我是否必须更改项目中使用的现有查询。?

感谢。

2 个答案:

答案 0 :(得分:2)

您需要对联合数据库所做的更改的粗略摘要如下:

  • 决定您将联合的ID(例如用户ID)
  • 对于您希望联合的每个表都会更改表模式,因此联合密钥是主键的一部分,并对表进行注释以使其知道哪个列是联合密钥。
  • 对于针对联合表运行的每个查询,您需要确保将使用的连接重定向到正确的联合。

目前,最后一步是在查询中添加USE FEDERATION语句。如果您使用的是Entity Framework或Linq,那么实现起来可能会有点棘手。在此区域需要注意的其他事项是确保在瞬态错误处理开始时重新运行USE FEDERATION语句。

亚历山大发布的链接都很好看。

答案 1 :(得分:1)

您是否阅读过the article by George Huey in MSDN Magazine

它涵盖了从现有SQL或Azure SQL数据库到具有联合的数据库的转换,该部分名为“将数据库架构从SQL Server或SQL Azure迁移到SQL Azure联合”。

在此之后,我建议您阅读有关数据查询的教程(part1part2)。

如果他们想要从联盟访问数据,则必须更改查询。基本上,每个联邦都是一个独立的SQL数据库,您首先要establish connection to correct federation before querying for data

如何使用与实体框架的联合还有一些特殊性,部分原因是连接到联合实例的额外开销,部分原因是联合不提供对MARS操作的支持(article)。