Согласно моему опыту, мастер-ключ уже создан и существует, когда мы создаем базу данных Azure SQL.
Когда мы создаем мастер-ключ :
-- Create a db master key if one does not already exist, using your own password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD='<EnterStrongPasswordHere>';
Поскольку мастер-ключ уже существует, мы не смогли создать новый.
В большинстве случаев Azure SQL кросс-запросы к базе данных не требуют создания мастер-ключа.
Например, я использую приведенный ниже запрос для перекрестного запроса в БД из Mydatabase в Mydatabase2:
--The "username" and "password" should be the username and password used to log in into the Customers database.
CREATE DATABASE SCOPED CREDENTIAL ElasticDBQueryCred
WITH IDENTITY = '<username>',
SECRET = '<password>';
--To create an external data source, execute the following command on the Orders database:
CREATE EXTERNAL DATA SOURCE MyElasticDBQueryDataSrc WITH
(TYPE = RDBMS,
LOCATION = '<server_name>.database.windows.net',
DATABASE_NAME = 'Customers',
CREDENTIAL = ElasticDBQueryCred,
) ;
--Create an external table on the Orders database, which matches the definition of the CustomerInformation table:
CREATE EXTERNAL TABLE [dbo].[test]
( [id] [int] ,
[age] [int]
)
WITH
( DATA_SOURCE = MyElasticDBQueryDataSrc)
--query the table
select * from test
Тестовая таблица в Mydatabase2:
Кросс-запрос базы данных в Mydatabase:
Для получения подробной информации, пожалуйста, обращайтесь: Начало работы с кросс-запросами .
Надеюсь, это поможет.