sql - 如何在 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."
帮助!
解决方案
使用sp_execute_remote,它“在单个远程 Azure SQL 数据库或在水平分区方案中充当分片的一组数据库上执行 Transact-SQL 语句。”。
但是有这么多的跨数据库查询,您可能想要:
将所有内容整合到一个数据库中,可能使用模式。
使用同时支持跨数据库查询和链接服务器的 Azure SQL 托管实例。
推荐阅读
- linux - 如何获得 HDFS Quota 的逗号/制表符分隔输出?
- json - 使用 OPENJSON 解析 JSON 时语法不正确
- lighthouse - 我如何询问有关“修复 Lighthouse 返回的错误”的问题?
- sql - Oracle 中的唯一约束和数据规范化
- android - 如何使用 RxTextView (RxBinding) 检测 EditText 何时为空
- java - 重用 Java 扫描器
- java - Spring Boot 中 SQL Server 的多个架构
- excel-formula - Excel - 尝试为另一列中的每个唯一值对一列中的前 4 个值进行排名
- node.js - mongodb 将数据插入对象数组并更新它
- angular - “错误:未捕获(承诺):TypeError:Object(...)不是函数”使用UniqueDeviceID