【问题标题】:Handling external data source on Azure SQL and geo-replication处理 Azure SQL 和异地复制上的外部数据源
【发布时间】:2017-05-26 00:58:06
【问题描述】:

下面是我的天蓝色设置

  1. 主弹性池(30 个数据库)- 活动
  2. 辅助弹性池(30 个数据库)- 只读异地复制。

WebApp 使用主池进行读写。 所有报告都在辅助服务器上运行。

我最近不得不在主数据库之一上添加一个外部数据源,跨数据库查询效果很好。

好消息是这个外部数据源配置也被复制并且在辅助服务器上运行良好。

问题:

Used the following to create external data souce

CREATE DATABASE SCOPED CREDENTIAL ElasticDBQueryCred 
WITH IDENTITY = 'username', 
SECRET = 'password'; 

CREATE EXTERNAL DATA SOURCE ElasticDBQueryDataSrc WITH 
(TYPE = RDBMS, 
LOCATION = 'primarydbname.database.windows.net', 
DATABASE_NAME = 'db1', 
CREDENTIAL = ElasticDBQueryCred, 
) ;

当我从辅助运行查询时,它运行良好,我担心的是,它使用的是主 db1 的外部数据源。

有没有更好的方法在辅助池中添加外部数据源,以便它可以使用它自己的 db1 副本?还是 azure sql 自己处理?

感谢任何反馈或帮助。

谢谢

【问题讨论】:

    标签: azure azure-sql-database geo-replication


    【解决方案1】:

    这是由于主数据库被整体复制的结果,包括存储在那里的元数据。要解决此问题,您可能需要尝试在主服务器上配置两个不同的外部源 - 例如主池本地的 ElasticDBQueryDataSrcPrimary 和辅助池本地的 ElasticDBQueryDataSrcSecondary。您将负责在查询到主要和次要查询之间切换您的数据源。

    【讨论】:

    • 如果我有一个或两个查询,那将不是问题。跟踪所有 proc 并更新它们以使用 Secondary DataSrc 会很痛苦。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    相关资源
    最近更新 更多