我想运行一个自动为DB1(存储过程)创建快照并将结果与DB2中的表合并的作业。基本上,我想从DB2查询DB1。
做到这一点的最佳方法是什么?它们在Azure的两个不同资源组中的两个不同的SQL Server上运行。
目前,它不允许我创建链接服务器-告诉我在尝试创建sp时sp不存在。
答案 0 :(得分:0)
您有两个数据库在Azure中两个不同资源组中的两个不同SQL Server上运行。
基本上,您想从DB2查询DB1。
对于Azure SQL数据库,要跨不同的数据库查询,可以使用Azure SQL Database elastic query。
摘要:
弹性查询功能(在预览中)使您可以运行跨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'
有关更多详细信息,请参见:Stored procedure for remote T-SQL execution: sp_execute_remote。
您也可以引用以下博客:Is it Possible to call Functions and Stored Procedures of One database In another database- Azure Sql server。
使用弹性查询,您可以在DB1中调用存储过程,将结果与DB2中的表合并
希望这会有所帮助。