0

下面是我的天蓝色设置

  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 自己处理这个?

任何反馈或帮助表示赞赏。

谢谢

4

1 回答 1

2

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

于 2017-05-31T11:02:11.077 回答