【问题标题】:How to create federation in an existing azure sql database如何在现有的 azure sql 数据库中创建联合
【发布时间】:2013-06-23 16:56:48
【问题描述】:

我对 azure federation 非常陌生。在我的项目中有一个现有的 SQL azure 数据库,现在我们想使用 azure federation 来扩展该数据库。

如何在我现有的表 myCustomer 上实现这一点。我计划根据 customer_Id 联合表。任何相关教程可用?。我应该从哪里开始。

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

谢谢。

【问题讨论】:

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


    【解决方案1】:

    您为联合数据库需要进行的更改的粗略总结如下:

    • 决定你要联合的 id(例如用户 id)
    • 对于您希望联合的每个表,更改您的表架构,使联合键成为主键的一部分,并对表进行注释,使其知道哪一列是联合键。
    • 对于针对联合表运行的每个查询,您需要确保使用的连接被重定向到正确的联合。

    这最后一步目前是通过将USE FEDERATION 语句添加到您的查询来完成的。如果您使用的是 Entity Framework 或 Linq,实现起来可能会有些棘手。在这方面需要注意的另一件事是确保在您的瞬态错误处理开始时重新运行 USE FEDERATION 语句。

    Alexander 发布的链接都很好阅读。

    【讨论】:

    • 如何将数据迁移到联合数据库中。我还面临联合不支持身份的问题。我的一些表包含身份规范和大量数据。如果您对此问题有任何见解,请回复。
    【解决方案2】:

    你读过the article by George Huey in MSDN Magazine吗?

    它在“将数据库架构从 SQL Server 或 SQL Azure 迁移到 SQL Azure 联合”一节中介绍了从现有 SQL 或 Azure SQL 数据库到具有联合的数据库的转换。

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

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

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

    【讨论】:

    • 我使用的是 sql 查询而不是 EF。在我的代码中都是纯文本作为命令类型。
    • 如何将数据迁移到联合数据库中。我还面临联合不支持身份的问题。我的一些表包含身份规范和大量数据。如果您对此问题有任何见解,请回复。
    猜你喜欢
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    相关资源
    最近更新 更多