Add Azure SQL Managed Instance (MI) database (DB) CDC as source in Real-Time hub (preview)

This article describes how to add Azure SQL Managed Instance CDC as an event source in Fabric Real-Time hub.

The Azure SQL Managed Instance CDC source connector allows you to capture a snapshot of the current data in a SQL Managed Instance database. The connector then monitors and records any future row-level changes to this data. Once the changes are captured in the eventstream, you can process this CDC data in real-time and send it to different destinations within Fabric for further processing or analysis.

Note

Real-Time hub is currently in preview.

Prerequisites

  • Access to the Fabric premium workspace with Contributor or higher permissions.
  • A running Azure SQL Managed Instance database.
  • Your Azure SQL Managed Instance must enable public endpoint and not be behind a firewall or secured in a virtual network.
  • CDC enabled in your Azure SQL Managed Instance by running the stored procedure sys.sp_cdc_enable_db. For details, see Enable and disable change data capture.

Enable public endpoint in your Azure SQL managed instance

Go to the Azure portal, open your Azure SQL managed instance, select Networking, and enable public endpoint.

Screenshot that shows the Networking page with Public endpoint option enabled.

Enable CDC in your Azure SQL managed instance

  1. Enable CDC for the database.

    EXEC sys.sp_cdc_enable_db; 
    
  2. Enable CDC for a table using a gating role option. In this example, MyTable is the name of the SQL table.

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

    After the query executes successfully, you enabled CDC in your Azure SQL managed instance.

Get events from Azure SQL Managed Instance (CDC)

You can get events from an Azure SQL Managed Instance CDC into Real-Time hub in one of the ways:

Launch Add source experience

  1. Sign in to Microsoft Fabric.

  2. Select Real-Time hub on the left navigation bar.

  3. On the Real-Time hub page, select + Add source in the top-right corner of the page.

    Screenshot that shows how to launch Real-Time hub In Microsoft Fabric.

Use instructions from the Add Azure SQL Managed Instance CDC as a source section.

Microsoft sources page

  1. In Real-Time hub, select Microsoft sources on the left navigation menu.

  2. In the Source drop-down list, select Azure SQL MI DB (CDC).

  3. For Subscription, select an Azure subscription that has the resource group with your Azure SQL Managed Instance database.

  4. For Resource group, select a resource group that has the database.

  5. For Region, select a location where your database is located.

  6. Now, move the mouse over the name of the Azure SQL Managed Instance DB CDC source that you want to connect to Real-Time hub in the list of databases, and select the Connect button, or select ... (ellipsis), and then select the Connect button.

    To configure connection information, use steps from the Add Azure SQL Managed Instance CDC as a source section. Skip the first step of selecting Azure SQL MI DB CDC as a source type in the Add source wizard.

Add Azure SQL Managed Instance CDC as a source

  1. On the Select a data source screen, select Azure SQL MI DB (CDC) as the data source.

    Screenshot that shows the selection of SQL Server on VM DB (CDC) connector.

  2. On the Connect page, select New connection.

    Screenshot that shows the selection of New connection link on the Connect page.

  3. In the Connection settings section, enter the following values for your SQL Server on VM:

    • Server: Enter the Endpoint from the Azure portal, replacing the comma between the host and port with a colon. For example, if your Endpoint is xxxxx.public.xxxxxx.database.windows.net,3342, then you should enter xxxxx.public.xxxxxx.database.windows.net:3342 in the Server field.

      Screenshot that shows the Networking page with Endpoint information.

    • Database: Enter the name of the database you want to connect to within your Azure SQL Managed Instance.

      Screenshot that shows the Connection settings section of the Connect page.

  4. Scroll down, and in the Connection credentials section, follow these steps.

    • For Connection name, enter a name for the connection.

    • For Authentication kind, select Basic.

      Note

      Currently, Fabric event streams supports only Basic authentication.

    • Enter Username and Password for the SQL Server on VM.

  5. Select Connect at the bottom of the page.

  6. Now, on the Connect page, select All tables, or enter the table names separated by commas, such as: dbo.table1, dbo.table2.

  7. Select Next.

    Screenshot that shows selection of All tables option.

  8. On the Review and create screen, review the summary, and then select Add.

    Screenshot that shows the selection of the Add button.

View data stream details

  1. On the Review and create page, if you select Open eventstream, the wizard opens the eventstream that it created for you with the selected Azure SQL MI DB CDC as a source. To close the wizard, select Close or X* in the top-right corner of the page.
  2. In Real-Time hub, select All data streams. To see the new data stream, refresh the All data streams page. For detailed steps, see View details of data streams in Fabric Real-Time hub.

To learn about consuming data streams, see the following articles: