Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik GA: Multivariate Time Series in Qlik Predict: Get Details
cancel
Showing results for 
Search instead for 
Did you mean: 
raffaelec
Partner - Contributor II
Partner - Contributor II

Permissions issue enabling MS-CDC on Azure SQL source

Hello,

I’m configuring a Log Stream replication task in Qlik Replicate that uses a Microsoft Azure SQL (MS-CDC) source. According to the official documentation for the latest release, it should be possible to run CDC without requiring the db_owner role: https://help.qlik.com/en-US/replicate/May2025/Content/Global_Common/Content/SharedReplicateHDD/Azure....

Now, a user account has been created for Qlik Replicate on the Microsoft Azure SQL (MS-CDC) source without the db_owner role. When I start the Log Stream task, replication is suspended because the Qlik Replicate user doesn’t have sufficient privileges to enable CDC on the tables. Specifically, the following error is returned:

“SQL_ERROR  SqlState: 42000  NativeError: 22904 

Message: [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Caller is not authorized to initiate the requested action. DBO privileges are required. 

Line: 1  Column: -1 

Failed (retcode -1) to execute statement: 

EXEC sys.sp_cdc_enable_table @Source_schema=N'dbo', @Source_name=N'table_name', @role_name=NULL”.

 

The DBA indicated that it’s not possible to grant permission to execute this statement to the Qlik Replicate user without assigning the db_owner role.

When I try disabling the “Enable MS-CDC on all captured tables” option in the source endpoint instead, the replication of the tables is again suspended, showing the following message: “Data changes of table 'table_name' will not be captured because it is not enabled for MS-CDC, and Replicate is not set to enable this option automatically”.

My questions are

  • Is there any workaround that would allow a Qlik Replicate user without the db_owner role to enable CDC on the tables?
  • If the Qlik Replicate user doesn’t have the db_owner role, is it mandatory for another user with db_owner privileges to execute the EXEC sys.sp_cdc_enable_table command on the tables to be captured?

Thank you very much in advance for your help.

Best regards

Labels (4)
1 Solution

Accepted Solutions
OritA
Support
Support

Hi, 

As stated in the Replicate users guide under MS-CSC limitation section (see link below) :
"

When running without the db_owner role, the following limitations apply:

  • Capture of DDLs is not supported. To prevent replication errors, you must clear the Capture DDL events check box in the endpoint settings' Advanced tab before running the task.

  • MS-CDC cannot be enabled automatically and should therefore be enabled manually. To prevent replication errors, you must also clear the Enable MS-CDC on all captured tables check box in the endpoint settings' Advanced tab before running the task."

https://help.qlik.com/en-US/replicate/May2023/Content/Replicate/Main/MicrosoftSQLServer-MSCDC/Micros...

So in your case after you enable the MS-CDC manually on your tables the task should run without any issues.  IF you still encounter problems please open a Salesforce case and attach to it the task diagnostic package. 

Regards,

Orit

View solution in original post

1 Reply
OritA
Support
Support

Hi, 

As stated in the Replicate users guide under MS-CSC limitation section (see link below) :
"

When running without the db_owner role, the following limitations apply:

  • Capture of DDLs is not supported. To prevent replication errors, you must clear the Capture DDL events check box in the endpoint settings' Advanced tab before running the task.

  • MS-CDC cannot be enabled automatically and should therefore be enabled manually. To prevent replication errors, you must also clear the Enable MS-CDC on all captured tables check box in the endpoint settings' Advanced tab before running the task."

https://help.qlik.com/en-US/replicate/May2023/Content/Replicate/Main/MicrosoftSQLServer-MSCDC/Micros...

So in your case after you enable the MS-CDC manually on your tables the task should run without any issues.  IF you still encounter problems please open a Salesforce case and attach to it the task diagnostic package. 

Regards,

Orit