elasticsearch,external-tables,Sql,Sql Server,elasticsearch,External Tables" /> elasticsearch,external-tables,Sql,Sql Server,elasticsearch,External Tables" />

了解Azure SQL Server外部表

了解Azure SQL Server外部表,sql,sql-server,elasticsearch,external-tables,Sql,Sql Server,elasticsearch,External Tables,我们正在尝试使用Azure的预览弹性查询创建跨数据库查询。因此,我们将创建一个外部表来实现这些查询 不幸的是,我对查询将如何执行有些担心。我不希望查询或存储过程在运行时因为数据库连接失败而失败。我只是不明白外部表是如何工作的 文档在如何查询和创建表方面有很好的信息。我就是找不到明确说明数据是如何存在的信息 Oracle版本的外部表只是被引用的平面文件。将外部文件中的数据加载到Oracle数据库的表中。我找不到任何关于Azure执行相同操作的文档。(这是否意味着它们是一样的?这是一个愚蠢的问题吗?

我们正在尝试使用Azure的预览弹性查询创建跨数据库查询。因此,我们将创建一个外部表来实现这些查询

不幸的是,我对查询将如何执行有些担心。我不希望查询或存储过程在运行时因为数据库连接失败而失败。我只是不明白外部表是如何工作的

文档在如何查询和创建表方面有很好的信息。我就是找不到明确说明数据是如何存在的信息

Oracle版本的外部表只是被引用的平面文件。将外部文件中的数据加载到Oracle数据库的表中。我找不到任何关于Azure执行相同操作的文档。(这是否意味着它们是一样的?这是一个愚蠢的问题吗?)

如果是这样(外部平面文件),当外部表更新时,SQL Server是否会更新平面文件以使外部表保持最新?或者每次我想查询最新信息时,我都必须再次删除/创建链接吗?

根据Microsoft支持: 弹性查询基本上是远程查询,这意味着数据不是本地存储的,而是每次运行查询时从源数据库中提取的。在外部表上执行查询时,它会连接到源数据库并获取数据。 话虽如此,您不必删除/创建链接。一旦执行了这些步骤,就可以像访问本地表一样访问水平分区表“mytable”。Azure SQL数据库自动打开到物理存储表的远程数据库的多个并行连接,处理远程数据库上的请求,并返回结果

使用此功能没有特定的风险,但这就像打开与源数据库的连接,以便提取数据一样。除此之外,在执行远程查询时可能会有一些缓慢,但不会导致数据库出现任何其他问题。
如果任何数据库不可用,将受影响的数据库用作源或目标的查询将遇到查询取消或超时。

关于潜在的暂时性错误,如果我们在同一服务器上的两个数据库之间进行查询,如果两个数据库都可用,有哪些潜在的故障场景?我们正试图评估利用此功能所带来的风险,以及查询是否可能因为与源数据库的底层连接而失败。1)你是我这样自我记录的英雄。2) 查询缓存呢?我发现第一个查询很慢,但是如果我立即再次运行它,结果会立即返回。