2

我们正在寻找将我们的本地 SQL Server 迁移到 Azure 的选项,并试图了解我们是否能够运行跨数据库查询,如果我们的数据驻留在 Azure 中的多种数据库技术(特别是 Azure 托管实例、Azure Synapse Analytics、Azure SQL 数据库)和本地 SQL Server 实例中。

我们在任何地方都找不到太多关于这些是否受支持的信息,如果你们中的任何人可以帮助填写下表,我们将不胜感激:

到-> Azure SQL 数据库 Azure 托管实例 Azure 突触分析 本地 SQL Server
Azure SQL 数据库 通过弹性搜索查询支持(参考:https ://azure.microsoft.com/en-us/blog/querying-remote-databases-in-azure-sql-db/ ) ? Azure 数据共享支持从 Azure SQL 数据库和 Azure Synapse Analytics(以前称为 Azure SQL DW)共享表和视图,以及从 Azure Synapse Analytics(工作区)专用 SQL 池共享表。当前不支持从 Azure Synapse Analytics(工作区)无服务器 SQL 池共享。(参考:https ://docs.microsoft.com/en-us/azure/data-share/how-to-share-from-sql ) Azure SQL 数据库不支持链接服务器属性,因此您将无法访问 Azure SQL 数据库中的 prem 表,并且 Azure SQL 数据库中的弹性查询是查询 2 个 Azure SQL 数据库之间的表,而不是 On prem。(参考:https ://docs.microsoft.com/en-us/answers/questions/289105/how-can-i-query-on-premise-sql-server-database-fro.html )
Azure 托管实例 ? ? ? 可通过使用链接服务器获得(参考:http ://thewindowsupdate.com/2019/03/22/lesson-learned-81-how-to-create-a-linked-server-from-azure-sql-managed- instance-to-sql-server-onpremise-or-azure-vm/ )
Azure 突触分析 ? ? ? ?
本地 SQL Server ? ? ? 使用链接服务器,您可以从本地 SQL Server 查询 Azure SQL 数据库中的数据(参考:https ://docs.microsoft.com/en-us/answers/questions/289105/how-can-i-query-本地 sql-server-database-fro.html )
4

2 回答 2

1

AFAIK 没有跨数据库外观,它提供一个接口来同时与多个数据库通信。无论是本地/云端还是 SQL-Server/Synapse/MySQL/...

您可以通过多种方式和方式从某处/任何地方访问单个数据库。例如,从云中的代码访问本地数据库或从本地“服务器”上运行的代码访问云数据库。可用接口列表特定于每个“源”和“目标”组合。

于 2021-03-12T21:11:30.030 回答
1

Azure SQL 数据库需要弹性查询来实现跨数据库查询。它不支持创建链接服务器。

Azure 托管实例与本地 SQL 服务器具有几乎相同的功能,您可以使用它USE statement来执行跨数据库查询。与本地 SQL Server 相同。

Azure Synapse Analytics 也不支持跨数据库查询。

根据我的知识和经验,我会将✔或X放在表中以表示支持或不支持。请参考:

到-> Azure SQL 数据库 Azure 托管实例 Azure 突触分析 本地 SQL Server
Azure SQL 数据库 通过弹性搜索查询支持(参考:https ://azure.microsoft.com/en-us/blog/querying-remote-databases-in-azure-sql-db/ ) X,不支持 Azure 数据共享支持从 Azure SQL 数据库和 Azure Synapse Analytics(以前称为 Azure SQL DW)共享表和视图,以及从 Azure Synapse Analytics(工作区)专用 SQL 池共享表。当前不支持从 Azure Synapse Analytics(工作区)无服务器 SQL 池共享。(参考:https ://docs.microsoft.com/en-us/azure/data-share/how-to-share-from-sql ) Azure SQL 数据库不支持链接服务器属性,因此您将无法访问 Azure SQL 数据库中的预置表,Azure SQL 数据库中的弹性查询是查询 2 个 Azure SQL 数据库之间的表,而不是预置表。(参考:https ://docs.microsoft.com/en-us/answers/questions/289105/how-can-i-query-on-premise-sql-server-database-fro.html )
Azure 托管实例 X,不支持 ✔,与本地 SQL Server 相同 X,不支持 可通过使用链接服务器获得(参考:http ://thewindowsupdate.com/2019/03/22/lesson-learned-81-how-to-create-a-linked-server-from-azure-sql-managed- instance-to-sql-server-onpremise-or-azure-vm/ )
Azure 突触分析 Azure 数据共享 X,不支持 X,不支持 X,不支持
本地 SQL Server ✔,链接服务器 ✔,链接服务器 X,不支持 使用链接服务器,您可以从本地 SQL Server 查询 Azure SQL 数据库中的数据(参考:https ://docs.microsoft.com/en-us/answers/questions/289105/how-can-i-query-本地 sql-server-database-fro.html )

请根据您的要求选择合适的 Azure 数据库版本。

HTH。

于 2021-03-22T09:40:36.307 回答