Более подробно объясните запросы SQL Azure Cross DB - PullRequest
0 голосов
/ 11 июня 2019

Я вижу несколько постов в блоге, в которых утверждается, что межсерверные запросы очень просты, и выкидываются 3 фрагмента магии SQL без объяснения того, что происходит или на какой базе данных должен выполняться скрипт.

Моя главная проблема: Я восстановил резервную копию PIT БД и мне нужно перенести некоторые старые данные из TableA (Backup) обратно в TableA (Current).Я просмотрел около дюжины постов, в которых все говорят одно и то же, и я просто не понимаю.Я либо получаю ошибку аутентификации, либо недопустимое имя объекта, либо какую-то другую ошибку ...

Может кто-нибудь рассказать мне немного подробнее?

    CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'securitymatters';
  1. Что если у меня уже естьМастер Ключ?Является ли абсолютно необходимым создание мастер-ключа с тем же PW, что и для учетных данных БД, или это просто удобство?Есть ли какие-нибудь последствия для того, чтобы сбросить и воссоздать Мастер Ключ?
    CREATE DATABASE SCOPED CREDENTIAL DB2Security 
    WITH IDENTITY = 'Grant',
    SECRET = 'securitymatters';
Какой БД нужны учетные данные?И то и другое?Могу ли я использовать существующего пользователя?Это должен быть существующий пользователь или я создаю новую вещь?
    CREATE EXTERNAL DATA SOURCE DB2Access
    WITH (
    TYPE=RDBMS,
    LOCATION='myservernotyours.database.secure.windows.net',
    DATABASE_NAME='DB2',
    CREDENTIAL= DB2Security);
Где этот пробег?
    CREATE EXTERNAL TABLE dbo.DB2Table (
    ID int,
    Val varchar(50))
    WITH
    (
    DATA_SOURCE = DB2Access);
Где этот пробег?Как это в конечном итоге отображается на таблицу, которую я хочу?Есть ли здесь соглашение об именах?Если обе базы данных имеют одинаковую схему и, следовательно, обе имеют dbo.Customers, это разорвет это соединение?
...