在 Azure SQL 和异地复制上处理外部数据源
Handling external data source on Azure SQL and geo-replication
下面是我的 azure 设置
- 主要弹性池(30 个数据库)- 活动
- Elastic Pool Secondary(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 自己处理这个问题?
感谢任何反馈或帮助。
谢谢
这是因为主数据库被整体复制,包括存储在那里的元数据。要解决此问题,您可能需要尝试在主服务器上配置两个不同的外部源 - 例如主池本地的 ElasticDBQueryDataSrcPrimary 和辅助池本地的 ElasticDBQueryDataSrcSecondary。您将负责在主要和次要查询之间切换数据源。
下面是我的 azure 设置
- 主要弹性池(30 个数据库)- 活动
- Elastic Pool Secondary(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 自己处理这个问题?
感谢任何反馈或帮助。
谢谢
这是因为主数据库被整体复制,包括存储在那里的元数据。要解决此问题,您可能需要尝试在主服务器上配置两个不同的外部源 - 例如主池本地的 ElasticDBQueryDataSrcPrimary 和辅助池本地的 ElasticDBQueryDataSrcSecondary。您将负责在主要和次要查询之间切换数据源。