【发布时间】:2019-04-22 14:25:48
【问题描述】:
我们正在尝试使用 Azure 的预览版 Elastic Query 创建跨数据库查询。因此,我们将创建一个外部表来进行这些查询。
不幸的是,我对查询的执行方式有些担心。我不希望查询或存储过程在运行时失败,因为数据库连接失败。我只是不明白外部表是如何工作的。
Azure's External Table docs 有很好的关于如何查询和创建表的信息。我只是找不到具体说明数据如何存在的信息。
Oracle 的外部表版本只是被引用的平面文件。 SQL*Loader 将外部文件中的数据加载到 Oracle 数据库的表中。我找不到任何关于 Azure 做同样事情的文档。 (是否暗示它们是相同的?这是一个愚蠢的问题吗?)
如果是这种方式(外部平面文件),当外部表被更新时,SQL Server 是否会更新平面文件以使我们的外部表保持最新?还是每次我想运行查询以获取最新信息时都必须再次删除/创建链接?
【问题讨论】:
-
关于潜在的暂时性错误,如果我们在同一服务器上的两个数据库之间进行查询,如果两个数据库都可用,可能会出现哪些故障情况?我们正在尝试评估利用此功能带来的风险,以及查询是否可能由于与源数据库的底层连接而失败。
标签: sql sql-server elasticsearch external-tables