Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This article describes how to add SQL Server on VM DB (CDC) as an event source in Fabric Real-Time hub.
The SQL Server on VM DB (CDC) source connector for Fabric event streams allows you to capture a snapshot of the current data in a SQL Server database on VM. Currently, SQL Server on VM DB (CDC) is supported from the following services where the databases can be accessed publicly:
- SQL Server on Azure Virtual Machines
- Amazon Relational Database Service (RDS) for SQL Server
- Amazon RDS Custom for SQL Server
- Google Cloud SQL for SQL Server
Note
Amazon Web Services (AWS) RDS SQL Server, AWS RDS Custom SQL Server, and Google Cloud SQL SQL Server don't support the Express version. Make sure you're using an appropriate edition of SQL Server for CDC.
Once the SQL Server on VM DB (CDC) source is added to the eventstream, it monitors and records future row-level changes, which can then be processed in real-time and sent to various destinations for further analysis.
Note
With DeltaFlow (Preview), you can transform raw Debezium CDC events into analytics-ready streams that mirror your source table structure. DeltaFlow automates schema registration, destination table management, and schema evolution handling. To use DeltaFlow, choose Analytics-ready events & auto-updated schema during the schema handling step.
Prerequisites
- Access to a workspace in the Fabric capacity license mode (or) the Trial license mode with Contributor or higher permissions.
- A running SQL Server on VM database.
- Your SQL Server on VM database must be configured to allow public access. If it resides in a protected network, connect to it by using Eventstream connector virtual network injection.
- Enable CDC in your SQL Server on VM database by running the stored procedure
sys.sp_cdc_enable_db. For details, see Enable and disable change data capture.
Enable CDC in your SQL Server on VM database
Enable CDC for the database.
EXEC sys.sp_cdc_enable_db;Enable CDC for a table using a gating role option. In this example,
MyTableis the name of the SQL table.EXEC sys.sp_cdc_enable_table @source_schema = N'dbo', @source_name = N'MyTable', @role_name = NULL GOAfter the query executes successfully, you enabled CDC in your SQL Server on VM database.
Get events from SQL Server on VM DB (CDC)
You can get events from a SQL Server on VM DB (CDC) into Real-Time hub using the Data sources page.
Data sources page
Sign in to Microsoft Fabric.
If you see Power BI at the bottom-left of the page, switch to the Fabric workload by selecting Power BI and then by selecting Fabric.
Select Real-Time on the left navigation bar.
The Streaming data page opens by default. Click on the Add data button to get to the Data sources page.
You can also get to the Data sources page directly by selecting the Add data option in the left navigation bar.
Select SQL Server on VM DB (CDC) as a source
On the Data sources page, select Database CDC category at the top, and then select Connect on the SQL Server on VM DB (CDC) tile.
Use instructions from the Add SQL Server on VM DB CDC as a source section.
Add SQL Server on VM DB CDC as a source
Ingest change data from SQL Server on VM databases with automatic table schema registration via CDC into Eventstream.
Note
DeltaFlow (Preview): When you select Analytics-ready events & auto-updated schema in the schema handling step, DeltaFlow transforms raw Debezium CDC events into analytics-ready streams that mirror your source table structure. DeltaFlow also automates destination table creation and schema evolution handling.
On the Connect page, select New connection.
In the Connection settings section, enter the following values for your SQL Server on VM:
Server: Enter the IP address or domain name of your VM, and then add a colon and the port. For example, if your IP address is
xx.xxx.xxx.xxxand the port is 1433, then you should enterxx.xxx.xxx.xxx:1433in the Server field. If the port isn't specified, the default port value1433is used.Database: Enter the name of the database that you want to connect to on your SQL Server on VM.
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 Eventstream supports only Basic authentication.
Enter Username and Password for the SQL Server on VM.
Note
Don't select the option: Use encrypted connection.
Select Connect at the bottom of the page.
Now, on the Connect page, select All tables, or Enter table name(s). If you select the latter, specify tables using a comma-separated list of full table identifiers (
schemaName.tableName) or valid regular expressions. For example:- Use
dbo.test.*to select all tables whose names start withdbo.test. - Use
dbo\.(test1|test2)to selectdbo.test1anddbo.test2.
You can mix both formats using commas. The total character limit for the entire entry is 102,400 characters.
- Use
You can expand Advanced settings to configure the Decimal handling mode, which specifies how the connector handles
DECIMALandNUMERICcolumn values:Precise: Represents values using exact decimal types (for example, JavaBigDecimal) to ensure full precision and accuracy in data representation.Double: Converts values to double-precision floating-point numbers. This setting improves usability and performance but can result in a loss of precision.String: Encodes values as formatted strings. This setting makes them easy to consume in downstream systems but loses semantic information about the original numeric type.
Stream or source details
On the Connect page, follow one of these steps based on whether you're using Eventstream or Real-Time hub.
Eventstream:
In the Source details pane to the right, follow these steps:
For Source name, select the Pencil button to change the name.
Notice that Eventstream name and Stream name are read-only.
Real-Time hub:
In the Stream details section to the right, follow these steps:
Select the Fabric workspace where you want to create the eventstream.
For Eventstream name, select the Pencil button, and enter a name for the eventstream.
The Stream name value is automatically generated for you by appending -stream to the name of the eventstream. This stream appears on the real-time hub's All data streams page when the wizard finishes.
Select Next at the bottom of the Configure page.
Review and connect
On the Review + connect screen, review the summary, and select Add (Eventstream) or Connect (Real-Time hub).
Schema handling page
In the Schema handling step, choose one of the following options:
- Analytics-ready events & auto-updated schema (DeltaFlow Preview): The connector transforms raw CDC events into analytics-ready streams that mirror your source table structure. DeltaFlow enriches events with metadata such as change type (insert, update, or delete) and timestamps, and automatically manages destination tables and schema evolution.
- Raw CDC events: The connector ingests and makes available the raw CDC events. Optionally, the connector can autodiscover table schemas and register them in the schema registry. Use this option when you want schema awareness without DeltaFlow transformation.
Note
The following screenshot shows Azure SQL Database CDC. The schema handling options are the same for all supported CDC source connectors.
Enable event schema association.
For Workspace, select a Fabric workspace for the schema set.
For Schema set, + Create is selected by default, which creates a new schema set. You can change it to select an existing event schema set.
If you selected the + Create option in the previous step, enter a name for the schema set.
On the Review + create screen, review the summary, and select Add (Eventstream) or Connect (Real-Time hub).
For all tables or selected tables in the SQL Server on VM database, the connector autodiscovers and creates schemas, and registers them with the schema registry.
DeltaFlow: Analytics-ready event transformation (Preview)
When you enable Analytics-ready events & auto-updated schema (DeltaFlow), the connector provides the following capabilities:
- Analytics-ready event shape: Raw Debezium CDC events are transformed into a tabular format that mirrors the source table structure. Events are enriched with metadata columns including the change type (
insert,update, ordelete) and the event timestamp. - Automatic destination table management: When you route DeltaFlow-enabled streams to a supported destination like an eventhouse, destination tables are automatically created to match the source table schema. You don't need to manually create or configure destination tables.
- Schema evolution handling: When source database tables change (for example, new columns are added or tables are created), DeltaFlow automatically detects the changes, updates the registered schemas, and adjusts the destination tables accordingly. This feature minimizes manual intervention caused by schema changes.
Note
DeltaFlow (Preview) is currently supported with Azure SQL Database CDC, Azure SQL Managed Instance CDC, SQL Server on VM CDC, and PostgreSQL CDC source connectors.
For details on how DeltaFlow transforms raw CDC events into analytics-ready output, including operation types and metadata columns, see DeltaFlow output transformation.
View data stream details
- On the Review + connect page, if you select Open eventstream, the wizard opens the eventstream that it created for you with the selected SQL Server on VM DB (CDC) as a source. To close the wizard, select Close or X* in the top-right corner of the page.
- 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.
Related content
To learn about consuming data streams, see the following articles: