如何在没有权限配置外部表的情况下联接多个Azure数据库?

时间:2018-12-10 20:10:02

标签: sql-server azure elasticsearch etl cross-database

在当前设置中,我使用Authentication = Active Directory-Integrated连接到Azure SQL Server。这种访问方法仅允许一次访问单个数据库。该架构是从内部SQL Server环境迁移而来的,并进行了更改,以使云开发变得可行,但是仍然必须跨数据库进行分析和调试。通常,只需使用旧版SQL Server配置进行跨数据库联接,如果数据库位于单独的服务器上,则可能涉及链接服务器。在云或蔚蓝中,您supposed to use Elastic search或避免进行需要这样做的体系结构设计。在源数据上,我只有读访问权限,这是您need ALTER ANY EXTERNAL DATA SOURCE permission以来的一个问题,因此,我认为我可能不得不借助ETL工具来执行这种类型的联接,但是想知道是否还有其他选项或工具可以允许人们本质上仅通过读取访问权限就可以在azure中执行跨数据库或跨服务器连接。

仅授予读取权限,执行这些类型的联接有什么想法?

1 个答案:

答案 0 :(得分:0)

我希望一个专家能回答这个问题,并告诉我我很无聊,但是这是我目前的想法,也许这会使她走出一条路……如下所示。

只提供读访问权限,最好是一开始就将所有数据从不同来源拉到我具有完全开发权限的环境中(例如,如果本地规模较小,则在本地主机上安装PostgreSQL或MySQL服务器...或者可能在单个开发位置确保企业拥有完整的开发权)。在ETL工具(即SSIS)中创建此文件,并在源中任何增量需要更新数据的情况下运行。随后,对该合并数据执行联接。

这很有意义,因为我需要对联接进行实验,处理足够小的数据或可传输的数据,因此重复数据不是资源浪费,并且可以直接在SQL编辑器中执行实验联接,而不是一个ETL工具。

如果我有一个更大的数据集,我将尝试进行抽样,执行相同的练习,然后一旦理解了跨服务器联接,就可以在ETL工具中大规模执行它,这可能是一种理想的批处理方式最终并行执行。