Forum Discussion
SQL Server CDC on VM DB Source Fails with "Property 'username' value '' is invalid" in Fabric Events
Hi Community,
I am trying to build a real-time ingestion pipeline in Microsoft Fabric using the following architecture:
SQL Server (On-Premises) in my local laptop → Eventstream (SQL Server CDC on VM DB) → Eventhouse → Power BI
Environment:
- Microsoft Fabric
- SQL Server 2025 Enterprise Developer Edition
- SQL Server Instance: TRELLIS000121\MSSQLSERVER01
- Database: AdventureWorksDW2025
- Authentication: SQL Authentication
- Login: Fabric_User
- On-premises Data Gateway (Standard Mode)
- CDC enabled on source database and table
Issue:
When configuring a SQL Server CDC on VM DB source in Eventstream and selecting my existing SQL connection, I receive the following error:
Property 'username' value '' is invalid
RootActivityId: e70e0251-2587-45b5-bd32-8f4c4aad0c01
Action: createEventTypes
Type: SqlServerOnVmDbCdc
What I have already verified:
- SQL Server connectivity
- SQL Server service is running.
- TCP/IP is enabled.
- SQL Server is listening on port 1433.
- Test-NetConnection to SQL Server succeeds.
- Gateway connectivity
- Created a Fabric gateway connection successfully.
- Connection test succeeds.
Connection Details:
Server: TRELLIS000121\MSSQLSERVER01
Database: AdventureWorksDW2025
Authentication: Basic
Username: Fabric_User
- SQL Authentication
- Fabric_User exists as a SQL login.
Query:
SELECT name, type_desc
FROM sys.server_principals
WHERE name = 'Fabric_User';
Result:
Fabric_User | SQL_LOGIN
- Fabric_User exists as a SQL login.
- SQL Authentication Mode
Query:
SELECT SERVERPROPERTY('IsIntegratedSecurityOnly');
Result:
0
This confirms Mixed Mode Authentication is enabled. - Fabric Connection
- The connection is created successfully in "Manage connections and gateways".
- The connection test passes.
- In Eventstream CDC Source configuration, I select the existing connection from the dropdown rather than manually entering credentials.
Observation:
The gateway connection validates successfully, but when Eventstream attempts to create event types, it throws:
Property 'username' value '' is invalid
This makes it appear that the CDC connector is not receiving or retrieving the stored username from the existing connection, even though the connection itself validates successfully.
Questions:
- Has anyone encountered this issue with SQL Server CDC on VM DB sources in Eventstream?
- Is this a known limitation or bug with the CDC connector?
- Are there additional permissions required for CDC source discovery beyond successful SQL connectivity?
- Does the Analytics-ready events option have any known issues with SQL Server CDC on VM DB sources?
- Are there any diagnostic logs available for the createEventTypes operation?
Any guidance would be greatly appreciated.
Thank you.
Hey v-dineshya ,
I wanted to share an update that I have successfully completed my Proof of Concept (POC) for streaming real-time data from SQL Server into Microsoft Fabric.
After evaluating a few approaches, I achieved the desired low-latency pipeline by implementing the following architecture:
SQL CDC → (Debezium + Kafka) → (Azure Event Hubs / Confluent.io) → Fabric Eventstream (via Event Hub or Confluent Connector)
Why this approach worked well:
Log-Based CDC: By using Debezium, the pipeline reads from the SQL transaction logs directly, ensuring zero impact on primary database query performance.
Scalability: Routing the data through Kafka/Event Hubs provides a highly reliable, buffered streaming layer.
Native Integration: Fabric’s native Eventstream connectors made it incredibly straightforward to ingest the stream directly into the lakehouse for real-time analytics.
Thanks to everyone for the guidance and support throughout this process! Hopefully, this architectural flow helps anyone else looking to implement a similar real-time CDC pattern.
Cheers!
8 Replies
- deborshi_nag
Super User
Hello raghulvl
It appears that your architecture may not align with the valid sources for using SQL Server on a VM DB (CDC) with eventstreams.
According to Microsoft documentation, the prerequisites are:
Add SQL Server Change Data Capture as a source to eventstream - Microsoft Fabric | Microsoft Learn
1) You need a running SQL Server on a VM. Installing SQL Server on a local laptop likely doesn't meet this requirement.
2) The SQL Server on the VM must be configured for public access. If your SQL Server is on your laptop, it could be restricted by a firewall.
Consider installing SQL Server on a publicly accessible VM to see if it resolves the issue.
- raghulvlFrequent Visitor
Hi deborshi_nag,
Thank you for taking the time to respond to my query.
I reviewed the documentation you shared and noticed that the current connector support is limited to Azure VMs and similar cloud-hosted virtual machines.
As an alternative, I am currently exploring the following approach:
SQL Server CDC → Debezium → Kafka (Confluent) → Event Stream
I'm hoping this setup will work for my use case. Since I am learning and experimenting with the technology, I am also trying to leverage free trial options wherever possible.
Thanks again for your guidance. I will also try the public VM approach you suggested and will keep you posted on the results.
- deborshi_nag
Super User
Your alternative architecture should work - you're running Debezium close to yuor laptop and using Kafka as a bridge to the cloud - let us know how it goes - good pattern when souce is not publicly accessible to cloud!
- v-dineshya
Community Support
Hi raghulvl ,
Thank you for reaching out to the Microsoft Community Forum. It is a Fabric Eventstream CDC connector issue(limitation). The connector successfully reaches the gateway and it starts metadata discovery but the credential payload passed internally is missing the username. When selecting an existing gateway connection, the CDC connector sometimes uses stored credentials for connection test and fails to propagate credentials to the internal createEventTypes API call.
Please try below general workarounds.
1. Instead of selecting the saved connection, in Eventstream source setup: Choose “Create new connection” and manually enter Server name, Database name, Authentication type, Username, Password and Gateway name.
2. Use server name with port number. Sometimes instance names cause issues with CDC connectors.
ex:- TRELLIS000121,1433
3. Please delete and recreate the connection with Authentication --> Basic, Explicit gateway selection and avoid editing existing connection.
4. Please try Fabric Lakehouse shortcut, use Data Pipeline --> CDC ingestion.
Please refer below community threads.
Solved: Re: SQL Server on VM DB Error - Microsoft Fabric Community
Solved: Eventstream - SQL Server CDC on VM DB Error - Microsoft Fabric Community
Solved: Re: Cannot create Eventstream from SQL Server (CD... - Microsoft Fabric Community
One of the user was already raised an idea regarding this limitation in Microsoft ideas forum, please refer below link.
Please allow CDC from On-Premise SQL Server (via g... - Microsoft Fabric Community
I hope this information helps. Please do let us know if you have any further queries.
Regards,
Dinesh
- v-dineshya
Community Support
Hi raghulvl ,
We haven’t heard from you on the last response and was just checking back to see if you have a resolution yet. And, if you have any further query do let us know.
Regards,
Dinesh
- raghulvlFrequent Visitor
Hey v-dineshya ,
I wanted to share an update that I have successfully completed my Proof of Concept (POC) for streaming real-time data from SQL Server into Microsoft Fabric.
After evaluating a few approaches, I achieved the desired low-latency pipeline by implementing the following architecture:
SQL CDC → (Debezium + Kafka) → (Azure Event Hubs / Confluent.io) → Fabric Eventstream (via Event Hub or Confluent Connector)
Why this approach worked well:
Log-Based CDC: By using Debezium, the pipeline reads from the SQL transaction logs directly, ensuring zero impact on primary database query performance.
Scalability: Routing the data through Kafka/Event Hubs provides a highly reliable, buffered streaming layer.
Native Integration: Fabric’s native Eventstream connectors made it incredibly straightforward to ingest the stream directly into the lakehouse for real-time analytics.
Thanks to everyone for the guidance and support throughout this process! Hopefully, this architectural flow helps anyone else looking to implement a similar real-time CDC pattern.
Cheers!
- raghulvlFrequent Visitor
Hi Dinesh,
Thank you for the detailed response and for sharing the relevant documentation and community threads.
Based on my testing and understanding so far, the SQL Server CDC connector currently appears to support only the following environments:
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
At this point, I have not been able to get CDC working with an on-premises SQL Server instance through the gateway.
I have already tried the suggested workarounds, including:
Creating a new connection manually
Using the server name with port number
Recreating the connection with Basic authentication
Selecting the gateway explicitly
While the connection itself can be created successfully and the source can be validated, the issue occurs when using the same connection within the SQL Server On-Prem on VM DB (CDC) source in Eventstream. The connector fails with the same behavior reported by other users in the community threads you referenced.
From my observations, the issue does not appear to be related to connection configuration but rather to the current limitation of the CDC connector for on-premises SQL Server environments. Also, after reviewing the referenced discussions, I could not find a confirmed solution that enables CDC from an on-premises SQL Server through the gateway.
Thank you again for the information and guidance.
As an alternative, I am currently exploring the following approach:
SQL Server CDC → Debezium → Kafka (Confluent) → Event Stream
If I am able to successfully implement this solution or discover any additional findings, I will update this thread so that it may help others facing the same issue.
Thanks,
Raghul- v-dineshya
Community Support
Hi raghulvl ,
Thank you for the update, As you mentioned in your previous response, you are currently working on solution. Could you please provide ETA (Estimated Time for Arrival) for this thread.
Regards,
Dinesh