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

Announcements
Qlik and ServiceNow Partner to Bring Trusted Enterprise Context into AI-Powered Workflows. Learn More!
cancel
Showing results for 
Search instead for 
Did you mean: 
Sukanya2
Contributor II
Contributor II

Need information on MS Replication.

Could you please help clarify the following points related to enabling the MS replication-related prerequisites for Qlik Replicate on a Microsoft SQL Server source?

  • What is the potential impact of enabling MS replication–related settings on the SQL Server database?

  • During initialization, does the process require a full database snapshot, or could it cause table locking or significant I/O spikes, considering the large size of the database?

  • How is transaction log usage managed to ensure it does not lead to excessive log growth or disk space issues?

  • Are there any expected performance impacts on the source database, particularly for large datasets?

  • Will any data or objects be written or modified in the source SQL Server database?

1 Reply
john_wang
Support
Support

Hello @Sukanya2 ,


  • What is the potential impact of enabling MS replication–related settings on the SQL Server database?


After replication is enabled, the transaction log (TLOG) will retain additional redo information. This may increase transaction log size and occasionally add overhead while the log grows or is backed up. In practice, the impact is typically small. SQL Server replication is a mature technology and its operational impact is well understood.


  • During initialization, does the process require a full database snapshot, or could it cause table locking or significant I/O spikes, considering the large size of the database?


No full database-wide snapshot is taken. Qlik Replicate performs full load using regular SELECT operations, we have many options to avoid significant I/O spikes. You can expect additional read I/O during the initial load, especially for large databases, but it does not require heavy locking of the entire database.

  • How is transaction log usage managed to ensure it does not lead to excessive log growth or disk space issues?


Typical approaches include:
    1. Adding only required tables to replication articles (avoid “replicate everything by accident” mode)
    2. Using Bulk-logged recovery when appropriate instead of Full
    3. Running regular transaction log backups so inactive log space can be reused
    4. Ensuring Qlik Replicate tasks run continuously so logs are consumed instead of piling up
 

  • Are there any expected performance impacts on the source database, particularly for large datasets?


    • During Full Load, expect additional read I/O; schedule during off-peak hours where possible

    • During Change Processing, the impact is usually minimal
      Exact percentages depend on workload and environment, so a PoC or benchmark is advisable for very large systems.

  • Will any data or objects be written or modified in the source SQL Server database?


No user data is modified. The only exception is when "Start transactions in the database" is enabled to prevent truncation of unread log records. In that case, Qlik Replicate creates an internal table named attrep_truncation_safeguard and issues two ongoing update statements per task without commit (latch locks A and B). Aside from this safeguard mechanism, no objects or data are changed on the source.

Hope this helps.

John.

Help users find answers! Do not forget to mark a solution that worked for you! If already marked, give it a thumbs up!