Добавление SQL Server в источник базы данных виртуальной машины (CDC) в поток событий

В этой статье показано, как добавить SQL Server на виртуальной машине в качестве источника отслеживания данных изменений (CDC) в поток событий.

Соединитель источника SQL Server базы данных (CDC) виртуальной машины для потоков событий Fabric позволяет записывать моментальный снимок текущих данных в базе данных SQL Server на виртуальной машине. В настоящее время SQL Server в базе данных виртуальной машины (CDC) поддерживается из следующих служб, где базы данных могут быть доступны для общедоступного доступа:

Примечание.

SQL Server Amazon Web Services (AWS) RDS, Amazon Web Services (AWS) RDS Custom SQL Server и Google Cloud SQL Server не поддерживают версию Express. Убедитесь, что вы используете соответствующий выпуск SQL Server для CDC.

После добавления источника SQL Server на виртуальной машине DB (CDC) в поток событий, он отслеживает и записывает будущие изменения на уровне строк, которые затем можно обрабатывать в реальном времени и отправлять в различные назначения для дальнейшего анализа.

Примечание.

С помощью DeltaFlow (предварительная версия) можно преобразовать необработанные события Debezium CDC в потоки, готовые к аналитике, которые отражают структуру исходной таблицы. DeltaFlow автоматизирует регистрацию схемы, управление таблицами назначения и обработку эволюции схемы. Чтобы использовать DeltaFlow, выберите события, готовые к аналитике, и автоматически обновленную схему на этапе обработки схемы.

Предварительные условия

  • Доступ к рабочей области в режиме лицензии на емкость Fabric или в режиме пробной лицензии с разрешениями уровня "Contributor" или выше.
  • Запущенная SQL Server в базе данных виртуальной машины.
  • Для предоставления общедоступного доступа необходимо настроить SQL Server в базе данных виртуальной машины. Если он находится в защищенной сети, подключитесь к нему с помощью инъекции виртуальной сети соединителя Eventstream.
  • Включите CDC в SQL Server в базе данных виртуальной машины, выполнив хранимую процедуру sys.sp_cdc_enable_db. Дополнительные сведения см. в разделе "Включение и отключение записи измененных данных".

Включение CDC в SQL Server в базе данных виртуальной машины

  1. Включите CDC для базы данных.

    EXEC sys.sp_cdc_enable_db; 
    
  2. Включите CDC для таблицы, используя параметр роли контроля доступа. В этом примере MyTable — имя таблицы SQL.

    EXEC sys.sp_cdc_enable_table 
       @source_schema = N'dbo', 
       @source_name   = N'MyTable', 
       @role_name     = NULL 
    GO 
    

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

    Снимок экрана с включенным CDC.

Добавление SQL Server в базу данных виртуальной машины в качестве источника

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

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

Если вы добавляете источник в уже опубликованный поток событий, переключитесь в режим редактирования . На ленте выберите Добавить источник>Подключить источники данных.

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

На странице Выберите источник данных найдите и выберите Connect на плитке SQL Server на виртуальной машине (CDC).

Настройка и подключение к SQL Server в базе данных виртуальной машины

Прием данных об изменениях из SQL Server на базах данных виртуальных машин с автоматической регистрацией схем таблиц через CDC в Eventstream.

Примечание.

DeltaFlow (предварительная версия): при выборе событий, готовых к аналитике, и автоматического обновления схемы на этапе обработки схемы, DeltaFlow преобразует необработанные события Debezium CDC в потоки, готовые к аналитике, которые отражают структуру исходной таблицы. DeltaFlow также автоматизирует создание целевой таблицы и обработку эволюции схемы.

  1. На странице "Подключение" выберите "Создать подключение".

    Снимок экрана: выбор ссылки

  2. В разделе Connection settings введите следующие значения для SQL Server на виртуальной машине:

    • Сервера: Введите IP-адрес или доменное имя виртуальной машины, а затем добавьте двоеточие и порт. Например, если ваш IP-адрес — это xx.xxx.xxx.xxx, а порт равен 1433, необходимо ввести xx.xxx.xxx.xxx:1433 в поле «Сервер». Если порт не указан, используется значение 1433 порта по умолчанию.

    • Database: Введите имя базы данных, к которой требуется подключиться на SQL Server на виртуальной машине.

      Снимок экрана: раздел параметров подключения на странице

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

    • В поле "Имя подключения" введите имя подключения.

    • Для типа проверки подлинности выберите "Базовый".

      Примечание.

      В настоящее время Fabric Eventstream поддерживает проверку подлинности только Basic.

    • Введите Username и Password для SQL Server на виртуальной машине.

      Примечание.

      Не выбирайте параметр: используйте зашифрованное подключение.

      Снимок экрана: раздел учетных данных подключения на странице

  4. Выберите "Подключиться" в нижней части страницы.

  5. Теперь на странице "Подключение" выберите "Все таблицы" или "Введите имена таблиц". Если выберете последний вариант, укажите таблицы, используя список полных идентификаторов таблиц, разделённых запятыми (schemaName.tableName), или допустимые регулярные выражения. Рассмотрим пример.

    • Используйте dbo.test.*, чтобы выбрать все таблицы, имена которых начинаются с dbo.test.
    • Используйте dbo\.(test1|test2) для выбора dbo.test1 и dbo.test2.

    Вы можете смешивать оба формата с помощью запятых. Общее ограничение символов для всей записи составляет 102 400 символов.

  6. Дополнительные параметры можно развернуть, чтобы сконфигурировать режим обработки десятичных чисел, который указывает, как соединитель обрабатывает значения DECIMAL и NUMERIC столбцов.

    • Precise: представляет значения с использованием точных десятичных типов (например, Java BigDecimal), чтобы обеспечить полную точность и точность представления данных.
    • Double: преобразует значения в числа с плавающей запятой двойной точности. Этот параметр повышает удобство использования и производительность, но может привести к потере точности.
    • String: кодирует значения в виде форматированных строк. Этот параметр упрощает использование в подчиненных системах, но теряет семантические сведения о исходном числовом типе.

Сведения о потоке или источнике

  1. На странице "Подключение" выполните одно из этих действий на основе того, используете ли вы поток событий или концентратор Real-Time.

    • Eventstream:

      В области сведений о источнике справа выполните следующие действия:

      1. Чтобы изменить имя источника, нажмите кнопку Карандаш.

      2. Обратите внимание, что имя потока событий и имя Stream доступны только для чтения.

    • центрReal-Time:

      В разделе сведений о потоке справа выполните следующие действия.

      1. Выберите рабочую область Fabric где нужно создать поток событий.

      2. Для имени eventstream нажмите кнопку «Карандаш» и введите название для eventstream.

      3. Значение имени потока автоматически создается шляхом добавления -stream к имени eventstream. Этот поток отображается на странице "Все потоки данных " концентратора в режиме реального времени, когда мастер завершит работу.

  2. Нажмите кнопку "Далее" в нижней части страницы "Настройка ".

Проверка и подключение

На экране "Обзор и подключение" просмотрите сводку и выберите "Добавить (Eventstream) или "Connect (Real-Time hub).

Страница обработки схемы

  1. На шаге обработки схемы выберите один из следующих вариантов:

    • События, готовые к аналитике и автоматически обновляемая схема (предварительная версия DeltaFlow): соединитель преобразует необработанные события CDC в потоки, готовые к аналитике, которые отражают структуру исходной таблицы. DeltaFlow дополняет события метаданными, такими как тип изменения (вставка, обновление или удаление) и метки времени, а также автоматически управляет целевыми таблицами и эволюцией схемы.
    • Необработанные события CDC: Соединитель принимает и делает доступными необработанные события CDC. При необходимости соединитель может автоматически обнаружить схемы таблиц и зарегистрировать их в реестре схем. Используйте этот параметр, если требуется осведомленность о схеме без преобразования DeltaFlow.

    Примечание.

    На следующем снимке экрана показана Azure SQL Database CDC. Параметры обработки схем одинаковы для всех поддерживаемых соединителей источника CDC.

    Снимок экрана: шаг обработки схемы с параметрами событий DeltaFlow и Raw CDC для соединителя источника CDC.

  2. Включите ассоциацию схемы событий.

  3. Для Workspace выберите рабочую область Fabric для набора схем.

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

  5. Если вы выбрали параметр +Создать на предыдущем шаге, введите имя набора схем.

  6. На экране «Проверка и создание» просмотрите сводку и выберите «Добавить» (Eventstream) или «Подключить» (узел реального времени).

    Снимок экрана: выбор кнопки

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

DeltaFlow: готовое для аналитики преобразование событий (предварительная версия)

При включении событий, готовых для аналитики, и автообновляемой схемы (DeltaFlow) коннектор предоставляет следующие возможности:

  • Фигура события, готовая к аналитике: Сырые события Debezium CDC преобразуются в табличный формат, который отражает структуру исходной таблицы. События обогащены столбцами метаданных, включая тип изменения (insertилиupdatedelete) и метку времени события.
  • Автоматическое управление таблицами назначения: при маршрутизации потоков с поддержкой DeltaFlow в поддерживаемое назначение, например в хранилище событий, целевые таблицы автоматически создаются для сопоставления схемы исходной таблицы. Вам не нужно вручную создавать или настраивать целевые таблицы.
  • Обработка эволюции схемы. При изменении исходных таблиц баз данных (например, добавляются новые столбцы или создаются таблицы), DeltaFlow автоматически обнаруживает изменения, обновляет зарегистрированные схемы и корректирует целевые таблицы соответствующим образом. Эта функция сводит к минимуму вмешательство вручную, вызванное изменениями схемы.

Примечание.

DeltaFlow (предварительная версия) в настоящее время поддерживается с Azure SQL Database CDC, Azure SQL Managed Instance CDC, SQL Server на соединителях источника CDC виртуальной машины и PostgreSQL CDC.

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

Просмотр обновленного потока событий

В режиме Edit вы можете видеть источник CDC SQL Server на виртуальной машине, добавленный в ваш eventstream.

Скриншот добавленного SQL Server в источнике CDC базы данных на виртуальной машине в режиме редактирования с расширенными функциями.

Чтобы реализовать этот недавно добавленный SQL Server в источнике CDC базы данных виртуальной машины, выберите Publish. После выполнения этих шагов ваш источник CDC базы данных SQL Server на виртуальной машине становится доступным для визуализации в представлении Live.

Снимок экрана добавленного SQL Server в источнике CDC DB виртуальной машины в режиме Live View с расширенными функциями.

Настройте направления Eventstream для использования схем

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

Примечание.

При использовании DeltaFlow (предварительная версия) с поддерживаемым источником отслеживания измененных данных (CDC) целевые таблицы в хранилище событий автоматически создаются и управляются для сопоставления структуры исходной таблицы. Вам не нужно вручную настраивать схему целевой таблицы. DeltaFlow также обрабатывает эволюцию схемы автоматически при изменении исходных таблиц.

Настройте схему для назначения пользовательской конечной точки.

  1. Выберите "Преобразовать события" или "Добавить назначение", а затем выберите CustomEndpoint.

  2. На панели настраиваемых конечных точек укажите имя назначения.

  3. Для схемы входных данных выберите схему для событий. При включении поддержки схемы для потока событий вы можете выбрать этот флажок.

Снимок экрана: панель настройки пользовательской конечной точки.

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

Настройте схемы для места назначения eventhouse

  1. Выберите "Преобразовать события" или "Добавить назначение", а затем выберите Eventhouse.

  2. На панели eventhouse настройте следующие параметры, связанные со схемой:

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

      Снимок экрана: область конфигурации дома событий с выбранной входной схемой.

      Примечание.

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

    2. Для метода создания таблицы выберите одну таблицу со всеми схемами, объединенными или отдельными таблицамидля каждой схемы в зависимости от ваших требований.

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

    3. Для записи данных с помощью выберите один из следующих вариантов:

      • Только полезная нагрузка: запишите извлеченные полезные данные в таблицу. Если существует несколько входных схем, данные отправляются в несколько таблиц.
      • Метаданные и полезные данные: запись метаданных и полезных данных в одну таблицу. Примеры столбцов: source , , subjecttypeи data.

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

Подробные инструкции по настройке назначения eventhouse см. в разделе "Добавление хранилища событий в поток событий" .

Просмотр данных DeltaFlow, подготовленных для аналитики (предварительная версия)

Если вы включили анализ-подготовленные события и автоматически обновляемую схему (DeltaFlow), целевые таблицы автоматически создаются в структуре, которая отражает таблицы вашей исходной базы данных. Каждая таблица содержит исходные столбцы, а также столбцы метаданных для типа изменения и метки времени.

Примечание.

На следующем снимке экрана показана Azure SQL Database CDC. Выходные данные целевой таблицы DeltaFlow одинаковы для всех поддерживаемых соединителей источника CDC.

Снимок экрана: таблицы назначения Eventhouse, созданные DeltaFlow в форме, готовой к аналитике.

Эти таблицы можно запрашивать с помощью языка запросов Kusto (KQL) или других средств аналитики без необходимости анализировать необработанные полезные данные Debezium CDC.

Другие соединители: