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

Announcements
Data Works for AI is here - Join the discussion and enter to win a pair of Qlik kicks: Join the Conversation!
cancel
Showing results for 
Search instead for 
Did you mean: 
iti-attunity-sup
Partner - Creator III
Partner - Creator III

Clarification on "Start transactions in the database" (attrep_truncation_safeguard) Behavior in SQL Server Source Endpoint

I have a question regarding the following option when using SQL Server as a source endpoint:

Reference:
[SQL Server Source Endpoint Advanced Properties]
https://help.qlik.com/en-US/replicate/May2023/Content/Replicate/Main/SQL%20Server/SQLServerDBSource_...

-Prevent truncation of unread changes from TLOG

  -Start transactions in the database

 

My understanding is that this feature prevents the truncation of active transaction logs by executing transactions against an internal table (attrep_truncation_safeguard) in the source database while unread logs are being processed/read.

Based on this understanding, could you please clarify the following two questions?

1. Release Timing of Internal Transactions
At which of the following timings (①–③) is the internal transaction issued by this feature released? If it is none of these, please let us know the exact timing.

① Upon completion of log reading via fn_dblog
② Upon completion of log parsing/filtering within Qlik Replicate (identifying changes that need to be propagated to the target)
③ Upon completion of data propagation to the target database


2. Methods for Explicitly Releasing Internal Transactions
Is our understanding correct that stopping all tasks using this source database as an endpoint is a valid method to explicitly release these internal transactions?
If there are any other methods to explicitly release them, please let us know.

Thank you for your assistance and support.

 

Best regards,
Hironori Fujihira

Labels (2)
1 Reply
Rahul_Kale
Support
Support

Hello @iti-attunity-sup,

Thank you for reaching out to the Qlik community.
 

1. Release timing:-

The safeguard transaction is used to protect unread TLOG records during log capture/read. It is not held until data is applied to the target. The closest option is one (log reading/capture stage), not three.
 

2. Explicit release:- 

Yes. Stopping all Qlik Replicate tasks that use the source endpoint and have "Start transactions in the database" enabled will release the safeguard transactions.

Below are some documents that gives you detailed information about the same.