是否可以在另一个数据库中调用一个数据库的函数和存储过程-Azure Sql Server

时间:2019-03-29 06:50:00

标签: database azure azure-sql-database

我需要从另一个数据库向Azure sql中的数据库调用函数。那是 , DB1中有一个功能。我在DB2中需要相同的功能。 如何从DB2调用它? 两个数据库都在Azure SQL服务器中

1 个答案:

答案 0 :(得分:0)

也许您可以看到以下文档:Reporting across scaled-out cloud databases (preview)

弹性查询还引入了一个存储过程,该过程提供对分片的直接访问。该存储过程称为sp_execute _remote,可用于在远程数据库上执行远程存储过程或T-SQL代码。它具有以下参数:

  1. 数据源名称(nvarchar):RDBMS类型的外部数据源的名称。
  2. 查询(nvarchar):要在每个分片上执行的T-SQL查询。
  3. 参数声明(nvarchar)-可选:具有Query参数中使用的4.参数的数据类型定义的字符串(如sp_executesql)。
  4. 参数值列表-可选:以逗号分隔的参数值列表(如sp_executesql)。

sp_execute_remote使用调用参数中提供的外部数据源在远程数据库上执行给定的T-SQL语句。它使用外部数据源的凭据连接到shardmap Manager数据库和远程数据库。

示例:

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

这意味着您可以在一个数据库中调用一个数据库的函数和存储过程。只需修改SQL语句即可。

希望这会有所帮助。