从同一 Azure SQL 服务器上的其他数据库调用主数据库的功能
Calling functions of master DB from other DB on the same Azure SQL Server
我有 Azure SQL 数据库服务器 + 一个 Azure SQL 数据库。在这个数据库中,我有一些函数调用主数据库的一些函数作为它们逻辑的一部分。
示例:
CREATE FUNCTION [dbo].[EncryptByKey]
(
@EncryptionKeyId nvarchar(1024),
@ValueToEncrypt varchar(MAX)
)
RETURNS VARCHAR(MAX)
AS
BEGIN
RETURN master.dbo.fn_varbintohexstr(ENCRYPTBYKEY(Key_GUID(@EncryptionKeyId), @ValueToEncrypt))
END
给我一个错误:
Cannot find either column "master" or the user-defined function or
aggregate "master.dbo.fn_varbintohexstr", or the name is ambiguous.
如果我尝试:
exec master.dbo.fn_varbintohexstr(123)
我得到的错误是:
Reference to database and/or server name in
'master.dbo.fn_varbintohexstr' is not supported in this version of SQL
Server.
是否有关于如何使用 Azure SQL 服务器上用户数据库的主数据库功能的解决方案?
您不能在 SQL Azure 上使用由三部分或四部分名称组成的分布式数据库查询。
对于跨越 SQL Azure 中多个数据库的查询,您需要使用弹性查询。欲了解更多信息,请访问 this 文章。
我有 Azure SQL 数据库服务器 + 一个 Azure SQL 数据库。在这个数据库中,我有一些函数调用主数据库的一些函数作为它们逻辑的一部分。
示例:
CREATE FUNCTION [dbo].[EncryptByKey]
(
@EncryptionKeyId nvarchar(1024),
@ValueToEncrypt varchar(MAX)
)
RETURNS VARCHAR(MAX)
AS
BEGIN
RETURN master.dbo.fn_varbintohexstr(ENCRYPTBYKEY(Key_GUID(@EncryptionKeyId), @ValueToEncrypt))
END
给我一个错误:
Cannot find either column "master" or the user-defined function or aggregate "master.dbo.fn_varbintohexstr", or the name is ambiguous.
如果我尝试:
exec master.dbo.fn_varbintohexstr(123)
我得到的错误是:
Reference to database and/or server name in 'master.dbo.fn_varbintohexstr' is not supported in this version of SQL Server.
是否有关于如何使用 Azure SQL 服务器上用户数据库的主数据库功能的解决方案?
您不能在 SQL Azure 上使用由三部分或四部分名称组成的分布式数据库查询。
对于跨越 SQL Azure 中多个数据库的查询,您需要使用弹性查询。欲了解更多信息,请访问 this 文章。