首页 > 解决方案 > 用另一个 SQL Server 的数据更新一个 SQL Server 的最佳方法?

问题描述

我想运行一个自动对 DB1(存储过程)进行快照并将结果与​​ DB2 中的表合并的作业。基本上我想从 DB2 查询 DB1。

做这个的最好方式是什么?它们在 Azure 中两个不同资源组中的两个不同 SQL Server 上运行。

目前它不允许我创建链接服务器 - 当我尝试创建它时告诉我 sp 不存在。

标签: sqlsql-serverazure

解决方案


您有两个数据库在 Azure 中两个不同资源组中的两个不同 SQL Server 上运行。

基本上你想从 DB2 查询 DB1。

对于 Azure SQL 数据库,你想跨不同的数据库进行查询,可以使用Azure SQL 数据库弹性查询

概括:

弹性查询功能(预览版)使您能够运行跨 Azure SQL 数据库中的多个数据库的 Transact-SQL 查询。它允许您执行跨数据库查询以访问远程表,并连接 Microsoft 和第三方工具(Excel、Power BI、Tableau 等)以跨多个数据库的数据层进行查询。使用此功能,您可以将查询扩展到 SQL 数据库中的大型数据层,并在商业智能 (BI) 报告中可视化结果。

您可以使用以下代码从远程数据库中查询:

EXEC sp_execute_remote
        N'MyExtSrc',
        N'select count(w_id) as foo from warehouse'

有关详细信息,请参阅:远程 T-SQL 执行的存储过程:sp_execute_remote

也可以参考这篇博客:Is it possible to call Functions and Stored Procedures of One database In another database-Azure Sql server

使用弹性查询,您可以调用 DB1 中的存储过程,将结果与 DB2 中的表合并

希望这可以帮助。


推荐阅读