Поделиться через


Отправка и получение данных для Базы данных SQL Azure и Azure Synapse Analytics

ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных SQL Azure Пул SQL Azure Synapse Analytics (ранее — хранилище данных SQL Azure) Azure Synapse Analytics (рабочая область)

Azure Data Share позволяет безопасно совместно использовать моментальные снимки данных из База данных SQL Azure и ресурсов Azure Synapse Analytics в другие подписки Azure. Включение подписок Azure за пределами клиента.

В этой статье описывается общий доступ к данным из База данных SQL Azure и Azure Synapse Analytics.

В этой статье вы узнаете:

Вы можете использовать оглавление, чтобы перейти к нужному разделу или продолжить работу с этой статьей, чтобы выполнить процесс с начала до конца.

Изображение, показывающее поток данных между владельцами данных и потребителями данных.

Что поддерживается

Поделиться

Azure Data Share поддерживает общий доступ к полным моментальным снимкам данных из нескольких ресурсов SQL в Azure. Добавочные моментальные снимки в настоящее время не поддерживаются для этих ресурсов.

Тип ресурса Общий доступ к таблицам Общий доступ к представлениям
База данных SQL Azure Да Да
Azure Synapse Analytics (ранее — хранилище данных SQL Azure) Да Да
Выделенный пул SQL в Synapse Analytics (рабочая область) Да Нет

Примечание.

В настоящее время Azure Data Share не поддерживает общий доступ из этих ресурсов:

  • Бессерверный пул SQL Azure Synapse Analytics (рабочая область)
  • Базы данных SQL Azure с настроенным Always Encrypted

Получение данных

Потребители данных могут принимать общие данные в несколько ресурсов Azure:

  • Azure Data Lake Storage 2-го поколения
  • хранилище BLOB-объектов Azure
  • База данных SQL Azure
  • Azure Synapse Analytics

Общие данные в Azure Data Lake Storage 2-го поколения или Хранилище BLOB-объектов Azure можно хранить в виде CSV-файла или parquet. Полные моментальные снимки данных перезаписывают содержимое целевого файла, если он уже существует.

Общие данные в База данных SQL Azure и Azure Synapse Analytics хранятся в таблицах. Если целевая таблица еще не существует, Azure Data Share создает таблицу SQL с исходной схемой. Если целевая таблица с тем же именем уже существует, она будет удалена и перезаписана с помощью последнего полного моментального снимка.

Примечание.

Для исходных таблиц SQL с динамическим маскированием данных на стороне получателя данные будут отображаться маскированными.

Поддерживаемые типы данных

При совместном использовании данных из источника SQL во время процесса моментального снимка используются следующие сопоставления из типов данных SQL Server в промежуточные типы данных Azure Data Share.

Примечание.

  1. В настоящее время для типов данных, которые сопоставляются с промежуточными типом "Десятичное число", моментальный снимок поддерживает точность до 28. Если для ваших данных требуется точность больше 28, попробуйте преобразовать их в строковые данные.
  2. При совместном использовании данных из базы данных SQL Azure в Azure Synapse Analytics поддерживаются не все типы данных. Подробные сведения см. в разделе Табличные типы данных в выделенном пуле SQL.
Тип данных SQL Server Промежуточный тип данных Azure Data Share
bigint Int64
binary Byte[]
bit Логический
char String, Char[]
Дата DateTime
Datetime DateTime
datetime2 Дата/время
Datetimeoffset DateTimeOffset
Десятичное число Десятичное число
FILESTREAM attribute (varbinary(max)) Byte[]
Тип с плавающей запятой Двойной
Изображение Byte[]
INT Int32
money Десятичное число
nchar String, Char[]
ntext String, Char[]
numeric Десятичное число
nvarchar String, Char[]
real Одна
rowversion Byte[]
smalldatetime Дата/время
smallint Int16
smallmoney Десятичное число
sql_variant Object
text String, Char[]
Время TimeSpan
TIMESTAMP Byte[]
tinyint Int16
uniqueidentifier GUID
varbinary Byte[]
varchar String, Char[]
xml Строка

Предварительные требования для совместного использования данных

Чтобы предоставить общий доступ к моментальным снимкам данных из ресурсов SQL Azure, сначала необходимо подготовить среду. Что вам понадобится:

  • Подписка Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись перед началом работы.
  • База данных SQL Azure или Azure Synapse Analytics (ранее — хранилище данных SQL Azure) с таблицами и представлениями, которыми требуется предоставить общий доступ.
  • Учетная запись Azure Data Share.
  • Адрес электронной почты для входа получателя данных в Azure (с использованием псевдонима электронной почты не будет работать).
  • Если ресурс SQL Azure находится в другой подписке Azure, отличной от учетной записи Azure Data Share, зарегистрируйте поставщика ресурсов Microsoft.DataShare в подписке, где находится исходный ресурс SQL Azure.

Предварительные требования для конкретного источника

Существуют также предварительные требования для совместного использования, которые зависят от того, откуда приходят данные. Выберите источник общего ресурса данных и выполните действия.

Предварительные требования для предоставления общего доступа к данным Базы данных SQL Azure или Azure Synapse Analytics (ранее — хранилище данных SQL Azure)

Вы можете использовать один из этих методов для проверки подлинности с помощью База данных SQL Azure или Azure Synapse Analytics (ранее — хранилище данных SQL Azure):

Проверка подлинности Microsoft Entra

Эти предварительные требования охватывают необходимую проверку подлинности, чтобы Azure Data Share могли подключиться к База данных SQL Azure:

  • Вам потребуется разрешение на запись в базы данных на СЕРВЕРе SQL Server: Microsoft.Sql/servers/database/write. Это разрешение назначено роли участника.
  • Разрешения администратора Microsoft Entra в SQL Server.
  • Доступ к брандмауэру SQL Server:
    1. В портал Azure перейдите к серверу SQL Server. Выберите Брандмауэры и виртуальные сети в левой области навигации.
    2. Выберите значение Да для параметра Разрешить доступ к серверу службам и ресурсам Azure.
    3. Выберите + Добавить IP-адрес клиента. IP-адрес клиента может измениться, поэтому может потребоваться снова добавить IP-адрес клиента при следующем совместном использовании данных на портале.
    4. Выберите Сохранить.

Проверка подлинности SQL

Пошаговую демонстрацию видео можно выполнить для настройки проверки подлинности или выполнить каждое из следующих предварительных требований:

  • Разрешение на запись в базы данных на SQL Server: Microsoft.Sql/servers/database/write. Это разрешение назначено роли участника.

  • Разрешение управляемого удостоверения ресурса Azure Data Share для доступа к базе данных:

    1. В портал Azure перейдите к серверу SQL Server и задайте себя администратором Microsoft Entra.

    2. Подключитесь к База данных SQL Azure/хранилищу данных с помощью Редактор запросов или SQL Server Management Studio с проверкой подлинности Microsoft Entra.

    3. Выполните следующий сценарий, чтобы добавить управляемое ресурсом ресурса data Share в качестве db_datareader. Подключитесь с помощью Active Directory и не проверки подлинности SQL Server.

      create user "<share_acct_name>" from external provider;     
      exec sp_addrolemember db_datareader, "<share_acct_name>"; 
      

      Примечание.

      Share_acc_name <> — это имя ресурса Data Share.

  • Пользователь База данных SQL Azure с доступом "db_datareader" для перехода и выбора таблиц или представлений, к которым вы хотите предоставить общий доступ.

  • Доступ к брандмауэру SQL Server:

    1. В портал Azure перейдите к SQL Server. Выберите Брандмауэры и виртуальные сети в левой области навигации.
    2. Выберите значение Да для параметра Разрешить доступ к серверу службам и ресурсам Azure.
    3. Выберите + Добавить IP-адрес клиента. IP-адрес клиента может измениться, поэтому может потребоваться снова добавить IP-адрес клиента при следующем совместном использовании данных на портале.
    4. Выберите Сохранить.

Необходимые условия для предоставления общего доступа к данным из пула SQL Azure Synapse Analytics (рабочая область)

  • Разрешение на запись в пул SQL в рабочей области Synapse: Microsoft.Synapse/workspaces/sqlPools/write. Это разрешение назначено роли участника.

  • Разрешение управляемого удостоверения ресурса Data Share для доступа к пулу рабочих областей Synapse:

    1. В портал Azure перейдите в рабочую область Synapse. Выберите администратора SQL Active Directory в левой области навигации и задайте себя администратором Microsoft Entra.

    2. Откройте Synapse Studio, выберите "Управление " в области навигации слева. Выберите Управление доступом в разделе "Безопасность". Назначьте себе роль администратора SQL или администратора рабочей области.

    3. Выберите " Разработка " в области навигации слева в Synapse Studio. Выполните следующий скрипт в пуле SQL, чтобы добавить управляемое ресурсом удостоверение data Share в качестве db_datareader.

      create user "<share_acct_name>" from external provider;     
      exec sp_addrolemember db_datareader, "<share_acct_name>"; 
      

      Примечание.

      Share_acc_name <> — это имя ресурса Data Share.

  • Доступ к брандмауэру рабочей области Synapse:

    1. В портал Azure перейдите в рабочую область Synapse. В области навигации слева выберите Брандмауэры.
    2. Выберите значение Вкл. для параметра Разрешить службам и ресурсам Azure доступ к этой рабочей области.
    3. Выберите + Добавить IP-адрес клиента. IP-адрес клиента может измениться, поэтому может потребоваться снова добавить IP-адрес клиента при следующем совместном использовании данных на портале.
    4. Выберите Сохранить.

Создание общей папки

  1. Перейдите на страницу "Обзор Data Share".

    Снимок экрана: обзор общего ресурса данных.

  2. Выберите команду Начать совместное использование данных.

  3. Нажмите кнопку создания.

  4. Введите сведения о совместном использовании. Укажите имя, тип совместного использования, описание содержимого и условия использования (необязательно).

    Снимок экрана: страница создания общей папки в Azure Data Share, показывающая имя общего ресурса, тип, описание и условия использования, заполненные.

  5. Выберите Продолжить.

  6. Чтобы добавить наборы данных в общий ресурс, выберите Добавить наборы данных.

    Снимок экрана: страница

  7. Выберите тип набора данных, который хотите добавить. Существует другой список типов наборов данных в зависимости от типа общего ресурса (моментального снимка или на месте), выбранного на предыдущем шаге.

    Снимок экрана: доступные типы наборов данных.

  8. Выберите рабочую область SQL Server или Synapse. Если вы используете проверку подлинности Microsoft Entra и установите флажок Разрешить общей папке данных запускать приведенный выше скрипт SQL create user от моего имени , установите флажок. Если вы используете проверку подлинности SQL, укажите учетные данные и убедитесь, что вы выполнили необходимые условия, чтобы у вас были разрешения.

    Нажмите Далее, чтобы перейти к объекту, доступ к которому нужно предоставить, и выберите "Добавить наборы данных". Вы можете выбрать таблицы и представления из базы данных SQL Azure и Azure Synapse Analytics (ранее Azure SQL DW) или таблицы из выделенного пула SQL Azure Synapse Analytics (рабочая область).

    Снимок экрана: окно набора данных База данных SQL Azure с выбранным сервером SQL Server.

  9. На вкладке "Получатели" введите адреса электронной почты получателей данных, выбрав команду "+Добавить получателя". Адрес электронной почты должен быть адресом электронной почты для входа в Azure.

    Снимок экрана: страница получателей с добавленным получателем.

  10. Выберите Продолжить.

  11. Если выбран тип общего доступа к моментальным снимкам, вы можете настроить расписание моментальных снимков для предоставления обновлений данных потребителям.

    Снимок экрана: страница параметров с включенным переключателем моментального снимка.

  12. Выберите время начала и интервал повторения.

  13. Выберите Продолжить.

  14. На вкладке "Просмотр и создание" просмотрите содержимое пакета, параметры, получателей и параметры синхронизации. Нажмите кнопку создания.

Azure Data Share теперь создан, и получатель общей папки данных теперь может принять приглашение.

Предварительные требования для получения данных

Прежде чем принять приглашение общего доступа к данным, необходимо подготовить среду.

Убедитесь, что все предварительные требования завершены перед принятием приглашения на общий доступ к данным:

Существуют также предварительные требования для ресурса, в котором будут храниться полученные данные. Выберите тип ресурса и выполните действия.

Предварительные требования к целевой учетной записи хранения

Если вы решили получать данные в служба хранилища Azure, выполните следующие предварительные требования перед принятием общей папки данных:

  • Учетная запись хранения Azure.
  • Разрешение на запись в учетную запись хранения: Microsoft.Storage/storageAccounts/write. Это разрешение назначено роли участника.
  • Разрешение на добавление назначения ролей управляемого удостоверения ресурса Data Share в учетную запись хранения: которая присутствует в Microsoft.Authorization/role assignments/write. Это разрешение назначено роли владельца.

Необходимые условия для получения данных в Базу данных SQL Azure или Azure Synapse Analytics (прежнее название — Хранилище данных SQL Azure)

Для SQL Server, где вы являетесь администратором Microsoft Entra сервера SQL Server, выполните следующие предварительные требования перед принятием общего ресурса данных:

  • База данных SQL Azure или Azure Synapse Analytics (ранее — хранилище данных SQL Azure).
  • Разрешение на запись в базы данных на SQL Server: Microsoft.Sql/servers/database/write. Это разрешение назначено роли участника.
  • Доступ к брандмауэру SQL Server:
    1. В портал Azure перейдите к серверу SQL Server. Выберите Брандмауэры и виртуальные сети в левой области навигации.
    2. Выберите значение Да для параметра Разрешить доступ к серверу службам и ресурсам Azure.
    3. Выберите + Добавить IP-адрес клиента. IP-адрес клиента может измениться, поэтому может потребоваться снова добавить IP-адрес клиента при следующем совместном использовании данных на портале.
    4. Выберите Сохранить.

Для SQL Server, где вы не являетесь администратором Microsoft Entra, выполните следующие предварительные требования, прежде чем принимать общую папку данных:

Вы можете выполнить пошаговые демонстрационные видео или описанные ниже действия, чтобы настроить предварительные требования.

  • База данных SQL Azure или Azure Synapse Analytics (ранее — хранилище данных SQL Azure).

  • Разрешение на запись в базы данных на сервере SQL Server: Microsoft.Sql/servers/database/write. Это разрешение назначено роли участника.

  • Разрешение управляемого удостоверения ресурса Data Share для доступа к База данных SQL Azure или Azure Synapse Analytics:

    1. В портал Azure перейдите к серверу SQL Server и задайте себя администратором Microsoft Entra.

    2. Подключитесь к База данных SQL Azure/хранилищу данных с помощью Редактор запросов или SQL Server Management Studio с проверкой подлинности Microsoft Entra.

    3. Выполните следующий скрипт, чтобы добавить управляемое удостоверение Data Share с ролями db_datareader, db_datawriter и db_ddladmin.

      create user "<share_acc_name>" from external provider; 
      exec sp_addrolemember db_datareader, "<share_acc_name>"; 
      exec sp_addrolemember db_datawriter, "<share_acc_name>"; 
      exec sp_addrolemember db_ddladmin, "<share_acc_name>";
      

      Примечание.

      Share_acc_name <> — это имя ресурса Data Share.

  • Доступ к брандмауэру SQL Server:

    1. В портал Azure перейдите к СЕРВЕРУ SQL Server и выберите брандмауэры и виртуальные сети.
    2. Выберите значение Да для параметра Разрешить доступ к серверу службам и ресурсам Azure.
    3. Выберите + Добавить IP-адрес клиента. IP-адрес клиента может измениться, поэтому может потребоваться снова добавить IP-адрес клиента при следующем совместном использовании данных на портале.
    4. Выберите Сохранить.

Необходимые условия для получения данных в пул SQL в Azure Synapse Analytics (рабочая область)

  • Выделенный пул SQL в Azure Synapse Analytics (рабочая область). Получение данных в бессерверный пул SQL в настоящее время не поддерживается.

  • Разрешение на запись в пул SQL в рабочей области Synapse: Microsoft.Synapse/workspaces/sqlPools/write. Это разрешение назначено роли участника.

  • Разрешение управляемого удостоверения ресурса Data Share для доступа к пулу SQL рабочей области Synapse:

    1. В портал Azure перейдите в рабочую область Synapse.

    2. Выберите администратора SQL Active Directory в левой области навигации и задайте себя администратором Microsoft Entra.

    3. Откройте Synapse Studio, затем выберите Управление в области навигации слева. Выберите Управление доступом в разделе "Безопасность". Назначьте себе роль администратора SQL или администратора рабочей области.

    4. В Synapse Studio в области навигации слева выберите Разработка. Выполните следующий сценарий в пуле SQL, чтобы добавить управляемое ресурсом удостоверение data Share в качестве db_datareader, db_datawriter, db_ddladmin.

      create user "<share_acc_name>" from external provider; 
      exec sp_addrolemember db_datareader, "<share_acc_name>"; 
      exec sp_addrolemember db_datawriter, "<share_acc_name>"; 
      exec sp_addrolemember db_ddladmin, "<share_acc_name>";
      

      Примечание.

      Share_acc_name <> — это имя ресурса Data Share.

  • Доступ к брандмауэру рабочей области Synapse:

    1. В портал Azure перейдите в рабочую область Synapse. В области навигации слева выберите Брандмауэры.
    2. Выберите значение Вкл. для параметра Разрешить службам и ресурсам Azure доступ к этой рабочей области.
    3. Выберите + Добавить IP-адрес клиента. IP-адрес клиента можно изменить. Этот процесс может потребоваться повторить при следующем обмене данными SQL из портал Azure.
    4. Выберите Сохранить.

Получение общих данных

Открытие приглашения

Вы можете открыть приглашение из электронной почты или непосредственно из портал Azure.

Чтобы открыть приглашение из электронной почты, проверьте папку "Входящие" на наличие приглашения от поставщика данных. Это должно быть приглашение от Microsoft Azure с названием Приглашение Azure Data Share от yourdataprovider@domain.com. Выберите Просмотреть приглашение, чтобы увидеть ваше приглашение в Azure.

Чтобы открыть приглашение из портал Azure напрямую, выполните поиск приглашений общего доступа к данным в портал Azure, в котором вы перейдете в список приглашений для общего доступа к данным.

Если вы являетесь гостевым пользователем в клиенте, вам потребуется проверить адрес электронной почты для клиента, прежде чем просматривать приглашение на общий доступ к данным в первый раз. После проверки ваш адрес электронной почты действителен в течение 12 месяцев.

Снимок экрана: страница приглашений с ожидающей приглашением.

Затем выберите общий ресурс, который вы хотите просмотреть.

Принять приглашение

  1. Просмотрите все поля, в том числе Условия использования. Если вы согласны с условиями использования, установите флажок для подтверждения своего согласия.

    Снимок экрана: страница принятия приглашения с выделенными условиями использования и выбранным соглашением.

  2. В разделе Target Data Share Account (Целевая учетная запись Data Share) выберите подписку и группу ресурсов, куда будете развертывать общий ресурс данных.

  3. В поле учетной записи Data Share выберите Создать, если у вас нет существующей учетной записи Data Share. В противном случае выберите учетную запись Data Share, где бы вы хотели принимать данные.

  4. Для поля "Полученное имя общей папки" можно оставить значение по умолчанию, указанное предоставленным данными, или указать новое имя полученной общей папки.

  5. Согласившись с условиями использования и указав учетную запись Data Share для управления полученным общим ресурсом, выберите Accept and Configure (Принять и настроить). Будет создана подписка на общий ресурс.

    Снимок экрана: страница принятия, показывающая сведения о целевой учетной записи общего доступа к данным.

Если вы не хотите принимать приглашение, выберите Отклонить.

Настройка полученного общего ресурса

Выполните следующие действия, чтобы настроить место для получения данных.

  1. Выберите вкладку "Наборы данных". Установите флажок рядом с набором данных, в который вы хотите назначить назначение. Нажмите + Сопоставить с целевым объектом, чтобы выбрать целевое хранилище данных.

    Снимок экрана: страница полученных общих папок с выделенной кнопкой сопоставления с целевой кнопкой.

  2. Выберите целевой ресурс для хранения общих данных. Все файлы и таблицы данных в целевом хранилище данных с тем же путем и именем будут перезаписаны. Если вы получаете данные в хранилище SQL и разрешить общей папке данных запустить приведенный выше сценарий SQL от имени пользователя, установите флажок. В противном случае выполните предварительные требования для запуска сценария, представленные на экране. Это предоставит ресурсу Data Share разрешение на запись в целевую базу данных SQL.

    Снимок экрана: наборы данных карты с целевым окном с доступными целевыми объектами в раскрывающемся списке.

  3. Для общего доступа на основе моментальных снимков, если поставщик данных создал расписание моментальных снимков для предоставления регулярных обновлений данных, можно также включить расписание моментальных снимков, выбрав вкладку "Расписание моментальных снимков". Установите флажок рядом с расписанием моментального снимка и нажмите кнопку "Включить".

    Примечание.

    Первый запланированный моментальный снимок начнется в течение одной минуты времени расписания, а следующие моментальные снимки будут начинаться в течение нескольких секунд запланированного времени.

    Снимок экрана: вкладка расписания моментальных снимков с выбранной кнопкой включения.

Активация создания моментальных снимков

Эти действия применимы только к общему доступу на основе моментальных снимков.

  1. Вы можете активировать создание моментальных снимков, нажав на вкладке Подробности кнопку Активировать моментальный снимок. Здесь можно активировать полный моментальный снимок данных. Если вы впервые получаете данные от поставщика данных, выберите полную копию. При выполнении моментального снимка следующие моментальные снимки не будут запускаться до завершения предыдущего.

    Снимок экрана: страница полученных общих папок с выбранным раскрывающимся списком моментальных снимков триггера и выделенным параметром полного копирования.

  2. Если состояние последнего запуска является успешным, перейдите к целевому хранилищу данных для просмотра полученных данных. Выберите Наборы данных и щелкните ссылку в целевом пути.

    Снимок экрана: вкладка наборов данных с выбранным успешным набором данных.

Просмотр журнала

Этот шаг применим только для общего доступа на основе моментальных снимков. Чтобы просмотреть журнал моментальных снимков, перейдите на вкладку "Журнал ". Здесь вы найдете историю всех моментальных снимков, созданных за последние 30 дней.

Производительность моментального снимка

Производительность моментальных снимков SQL влияет на многие факторы. Всегда рекомендуется проводить собственное тестирование производительности. Ниже приведены некоторые примеры факторов, влияющих на производительность.

  • Операции ввода-вывода и вывода хранилища данных источника или назначения (IOPS) и пропускная способность.
  • Конфигурация оборудования (например, виртуальные ядра, память, DWU) исходного и целевого хранилища данных SQL.
  • Одновременный доступ к исходному и целевому хранилищам данных. Если вы предоставляете общий доступ к нескольким таблицам и представлениям из одного хранилища данных SQL или получаете несколько таблиц и представлений в одном хранилище данных SQL, производительность будет затронута.
  • Пропускная способность сети между хранилищами данных источника и назначения и расположением исходных и целевых хранилищ данных.
  • Размер общих таблиц и представлений. Общий доступ к моментальным снимкам SQL выполняет полную копию всей таблицы. Если размер таблицы растет с течением времени, моментальный снимок займет больше времени.

Для больших таблиц, в которых требуется добавочное обновление, можно экспортировать обновления в учетную запись хранения и использовать возможность добавочного общего доступа к учетной записи хранения для повышения производительности.

Устранение неполадок с моментальным снимком

Наиболее распространенная причина сбоя моментального снимка заключается в том, что общий ресурс данных не имеет разрешения на исходное или целевое хранилище данных. Чтобы предоставить общий доступ к исходному или целевому База данных SQL Azure или Azure Synapse Analytics (ранее — хранилище данных SQL Azure), необходимо запустить предоставленный скрипт SQL при подключении к базе данных SQL с помощью проверки подлинности Microsoft Entra. Чтобы устранить другие сбои моментальных снимков SQL, ознакомьтесь с разделом "Устранение неполадок моментального снимка".

Следующие шаги

Вы узнали, как совместно использовать и получать данные из источников SQL с помощью службы Azure Data Share. Дополнительные сведения о совместном использовании из других источников данных см. в разделе Поддерживаемые хранилища данных.