Forum Discussion

raghulvl's avatar
raghulvl
Frequent Visitor
3 months ago
Solved

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:

  1. 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.
  2. Gateway connectivity
    • Created a Fabric gateway connection successfully.
    • Connection test succeeds.
      Connection Details:
      Server: TRELLIS000121\MSSQLSERVER01
      Database: AdventureWorksDW2025
      Authentication: Basic
      Username: Fabric_User
  3. 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
  4. SQL Authentication Mode
    Query:
    SELECT SERVERPROPERTY('IsIntegratedSecurityOnly');
    Result:
    0
    This confirms Mixed Mode Authentication is enabled.
  5. 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:

  1. Has anyone encountered this issue with SQL Server CDC on VM DB sources in Eventstream?
  2. Is this a known limitation or bug with the CDC connector?
  3. Are there additional permissions required for CDC source discovery beyond successful SQL connectivity?
  4. Does the Analytics-ready events option have any known issues with SQL Server CDC on VM DB sources?
  5. Are there any diagnostic logs available for the createEventTypes operation?

Any guidance would be greatly appreciated.

Thank you.

  • raghulvl's avatar
    raghulvl
    3 months ago

    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

  • 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.

     

    • raghulvl's avatar
      raghulvl
      Frequent 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's avatar
        deborshi_nag
        Icon for Super User rankSuper 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's avatar
    v-dineshya
    Icon for Community Support rankCommunity 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's avatar
      v-dineshya
      Icon for Community Support rankCommunity 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

      • raghulvl's avatar
        raghulvl
        Frequent 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!

    • raghulvl's avatar
      raghulvl
      Frequent 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's avatar
        v-dineshya
        Icon for Community Support rankCommunity 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