2017-10-16 17 views
0

Azure SQL DB Server + Azure SQLデータベースが1つあります。このDB内には、ロジックの一部としてマスタDBの機能を呼び出す機能があります。同じAzure SQL Server上の他のDBからマスタDBの機能を呼び出す

例:

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サーバーでユーザーのDBからmaster DB関数を使用する方法はありますか?

+0

なぜEXEC insted of SELECTを使用しますか? master.dbo.fn_varbintohexstr(123) – sepupic

+0

@sepupicを選択してください。慎重に読んでください。 execを使用した例は、より適切なエラーメッセージを得るためにのみ使用されます。選択も機能していません。 –

+0

https://stackoverflow.com/questions/11284998/cant-query-between-databases-in-sql-azure – sepupic

答えて

2

SQL Azureで3つまたは4つの部分名を使用する分散データベースクエリを使用することはできません。

SQL Azureで複数のデータベースにまたがるクエリの場合、弾性クエリを使用する必要があります。詳細については、thisの記事をご覧ください。

関連する問題