【问题标题】:Cross Database Queries in Azure Synapse, Azure SQL Database, Azure Managed Instance and On Premise SQL ServerAzure Synapse、Azure SQL 数据库、Azure 托管实例和本地 SQL Server 中的跨数据库查询
【发布时间】:2021-06-10 17:30:51
【问题描述】:

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

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

TO-> Azure SQL DB Azure Managed Instance Azure Synapse Analytics On Premise SQL Server
Azure SQL DB Supported through Elastic Search Query (Ref: https://azure.microsoft.com/en-us/blog/querying-remote-databases-in-azure-sql-db/) ? Azure Data Share supports sharing of both tables and views from Azure SQL Database and Azure Synapse Analytics (formerly Azure SQL DW), and sharing of tables from Azure Synapse Analytics (workspace) dedicated SQL pool. Sharing from Azure Synapse Analytics (workspace) serverless SQL pool is not currently supported. (Ref: https://docs.microsoft.com/en-us/azure/data-share/how-to-share-from-sql) Azure SQL database doesn't support the linked server property so you wont be able to access on prem tables in Azure SQL database and the elastic query in Azure SQL database is to query tables between 2 Azure SQL databases and not On prem. (Ref: https://docs.microsoft.com/en-us/answers/questions/289105/how-can-i-query-on-premise-sql-server-database-fro.html)
Azure Managed Instance ? ? ? Available through the use of Linked Servers (Ref: 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 Synapse Analytics ? ? ? ?
On Premise SQL Server ? ? ? Using a linked server you can query data in an Azure SQL database from an on premised SQL Server (Ref: https://docs.microsoft.com/en-us/answers/questions/289105/how-can-i-query-on-premise-sql-server-database-fro.html)

【问题讨论】:

  • 嗨@vavacious,如果我的回答对你有帮助,希望你能接受它作为答案(点击答案旁边的复选标记,将其从灰色切换为填充。)。这对其他社区成员可能是有益的。谢谢。

标签: azure azure-sql-database azure-synapse azure-sql-managed-instance cross-database


【解决方案1】:

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

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

【讨论】:

  • 谢谢您的回答,如果我们专门看Azure Synapse连接到本地SQL服务器,会不会发生跨数据库查询,还是需要在查询之前将数据复制到Data Lake?跨度>
  • @vavacious 你想用什么? Synapse 工作区(用于分析本地数据库中的数据)?还是 Synapse Serverless/Dedicated 来存储您的数据,然后使用 Synapse 工作区对其进行分析?
【解决方案2】:

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

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

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

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

TO-> Azure SQL DB Azure Managed Instance Azure Synapse Analytics On Premise SQL Server
Azure SQL DB Supported through Elastic Search Query (Ref: https://azure.microsoft.com/en-us/blog/querying-remote-databases-in-azure-sql-db/) X, not supported Azure Data Share supports sharing of both tables and views from Azure SQL Database and Azure Synapse Analytics (formerly Azure SQL DW), and sharing of tables from Azure Synapse Analytics (workspace) dedicated SQL pool. Sharing from Azure Synapse Analytics (workspace) serverless SQL pool is not currently supported. (Ref: https://docs.microsoft.com/en-us/azure/data-share/how-to-share-from-sql) Azure SQL database doesn't support the linked server property so you wont be able to access on prem tables in Azure SQL database and the elastic query in Azure SQL database is to query tables between 2 Azure SQL databases and not On prem. (Ref: https://docs.microsoft.com/en-us/answers/questions/289105/how-can-i-query-on-premise-sql-server-database-fro.html)
Azure Managed Instance X, not supported ✔,same with local SQL Server X, not supported Available through the use of Linked Servers (Ref: 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 Synapse Analytics Azure Data Share X, not supported X, not supported X, not supported
On Premise SQL Server ✔,linked server ✔,linked server X, not supported Using a linked server you can query data in an Azure SQL database from an on premised SQL Server (Ref: https://docs.microsoft.com/en-us/answers/questions/289105/how-can-i-query-on-premise-sql-server-database-fro.html)

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

HTH。

【讨论】:

    猜你喜欢
    • 2022-08-17
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 2020-12-14
    • 2020-12-13
    • 1970-01-01
    相关资源
    最近更新 更多