Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello team!
I'm having the following problem with 5 out of the 6 tables we are trying to replicate.
The log:
The error log message for one table:
We already have sysadmin role (at least I was told it was granted) since i was looking at this article previously: Ted Manka SQL_ERROR SqlState: 42000 NativeError: 20026 Message: [Microsoft][ODBC Driver 17 for SQL S...
Any ideas of what might be the issue? As I said, one table is making the full load and has not shown any issues, but the other 5 of the 6 are giving me this error.
Edit: Despite one of the tables starting the full load, by the log seems that the replicate feature is not enable in any of the 6.
Appreciate the help as always!
Cheers,
When MS-Replication is enabled on the source, it creates a MS-Replication log reader job which reads from tlogs and populates the distribution database with the changes.
When you apply MS-CDC at the same time on the source, it creates a MS-CDC capture job this time job that also reads from the tlogs but populates the change tables.
You had both enabled on the same system, and the MS-CDC capture job could not run as the sp_repldone process which marks the changes out the logs as replicated could be owned by only one job. The sp_repldone process was owned by the MS-Replication log reader job.
for your MS-CDC task, try the below :
1. edit the SQL (MS-CDC) endpoint, advanced / add internal parameter: skipMscdcJobFitnessCheck and check it.
2. save the endpoint, you can reload task as needed.
this tell Replicate MS-CDC not check for the MS-CDC capture job as it doesn’t rely on it anyway
Hi,
Based on the error, it seems that the CDC option is not turned on on your source db. Please refer to the following section in the documentation and follow the steps listed under: ' Preparing the database for CDC'
The full load only task do not show this error since full load only task do not perform CDC.
Regards,
Orit
Hello OritA
Thank you for you response! Let me add you some extra background before accepting the answer (just got this info as well)
Seems that both MS-Replication and MS-CDC were enabled in the Source. I have just tried running the Task with MS-CDC endpoint and received the Fitness check error.
Using the internal parameter"skipMscdcJobFitnessCheck" i was able to start the job without any issues anymore (though i imagine the source capture does not work in these cases). I have just asked to disable the MS-REPLICATE and i will try again without the internal parameter. Will keep you posted here.
Please let me know if it makes sense.
Kind regards!
When MS-Replication is enabled on the source, it creates a MS-Replication log reader job which reads from tlogs and populates the distribution database with the changes.
When you apply MS-CDC at the same time on the source, it creates a MS-CDC capture job this time job that also reads from the tlogs but populates the change tables.
You had both enabled on the same system, and the MS-CDC capture job could not run as the sp_repldone process which marks the changes out the logs as replicated could be owned by only one job. The sp_repldone process was owned by the MS-Replication log reader job.
for your MS-CDC task, try the below :
1. edit the SQL (MS-CDC) endpoint, advanced / add internal parameter: skipMscdcJobFitnessCheck and check it.
2. save the endpoint, you can reload task as needed.
this tell Replicate MS-CDC not check for the MS-CDC capture job as it doesn’t rely on it anyway
Hello Steve!
Thank you for your response.
Did everything as explained and the job seem to be running normally now (doing a full load).
Just to be clear, the change data capture will still work and capture the changes, correct?
Cheers
"Just to be clear, the change data capture will still work and capture the changes, correct?" yes, you can run some simple test to validate