首页 > 解决方案 > 如何在 Azure Elastic 中从另一个数据库调用函数中的过程

问题描述

我在本地 SQL Server 安装上很好地设置了我的所有东西。我有一个包含所有通用存储过程和函数的数据库,其他数据库会调用它们并根据需要传入变量。一切都很好,我不需要将十几个表和存储过程/函数复制到我工作的每个数据库中。

工作让我搬到了 Azure,现在我讨厌它。我不能再这样做了。我已经想出了如何将外部源添加到数据库,但我又要在每个数据库中创建十几个表。虽然它们可能不是物理表,但工作几乎相同。

我不知道如何调用我的存储过程和函数。

一个很好的例子就是这个。 [UL].[dbo].[fn_LocationInfo](0,'ROMEO','MI','48065','')

函数 [fn_LocationInfo] 位于 [UL] 数据库中,并使用 [UL] 中的 [CityStateInfo] 表。我需要从 [IZ] 数据库中调用它,现在我得到: "Reference to database and/or server name in 'UL.dbo.fn_LocationInfo' is not supported in this version of SQL Server."

帮助!

标签: sqlsql-serverazureazure-sql-database

解决方案


使用sp_execute_remote,它“在单个远程 Azure SQL 数据库或在水平分区方案中充当分片的一组数据库上执行 Transact-SQL 语句。”。

但是有这么多的跨数据库查询,您可能想要:

  1. 将所有内容整合到一个数据库中,可能使用模式。

  2. 使用同时支持跨数据库查询和链接服务器的 Azure SQL 托管实例。


推荐阅读