Labels

admin (1) aix (1) alert (1) always-on (2) Architecture (1) aws (3) Azure (1) backup (3) BI-DWH (10) Binary (3) Boolean (1) C# (1) cache (1) casting (3) cdc (1) certificate (1) checks (1) cloud (3) cluster (1) cmd (7) collation (1) columns (1) compilation (1) configurations (7) Connection-String (2) connections (6) constraint (6) copypaste (2) cpu (2) csv (3) CTE (1) data-types (1) datetime (23) db (547) DB2 (1) deadlock (2) Denali (7) device (6) dotNet (5) dynamicSQL (11) email (5) encoding (1) encryption (4) errors (124) excel (1) ExecutionPlan (10) extended events (1) files (7) FIPS (1) foreign key (1) fragmentation (1) functions (1) GCP (2) gMSA (2) google (2) HADR (1) hashing (3) in-memory (1) index (3) indexedViews (2) insert (3) install (10) IO (1) isql (6) javascript (1) jobs (11) join (2) LDAP (2) LinkedServers (8) Linux (15) log (6) login (1) maintenance (3) mariadb (1) memory (4) merge (3) monitoring (4) MSA (2) mssql (444) mssql2005 (5) mssql2008R2 (20) mssql2012 (2) mysql (36) MySQL Shell (5) network (1) NoSQL (1) null (2) numeric (9) object-oriented (1) offline (1) openssl (1) Operating System (4) oracle (7) ORDBMS (1) ordering (2) Outer Apply (1) Outlook (1) page (1) parameters (2) partition (1) password (1) Performance (103) permissions (10) pivot (3) PLE (1) port (4) PostgreSQL (14) profiler (1) RDS (3) read (1) Replication (12) restore (4) root (1) RPO (1) RTO (1) SAP ASE (48) SAP RS (20) SCC (4) scema (1) script (8) security (10) segment (1) server (1) service broker (2) services (4) settings (75) SQL (74) SSAS (1) SSIS (19) SSL (8) SSMS (4) SSRS (6) storage (1) String (35) sybase (57) telnet (2) tempdb (1) Theory (2) tips (120) tools (3) training (1) transaction (6) trigger (2) Tuple (2) TVP (1) unix (8) users (3) vb.net (4) versioning (1) windows (14) xml (10) XSD (1) zip (1)

SAP RS - The Replication Process

Before declare a Replication

We should have:

  • Databases installations (SPA ASE or others), primary and replicates.
  • Instances were set in sql.ini.
  • RSSD database.


The Replication Process

1. Add a table to Replication

Create connections to the primary and replicated server. – (using rs_init)

Create replication definition

Create (and validate) publication

Create (and validate) subscription

Add table to replication - sp_setreptable FirstTable, true (without true/false – just display the current status)

The replicated table must have a primary key!

  • In both sides – primary and replicated
  • It’s part of the replication definition, and the replication won’t work without the PK.


2. Replication Agent - Rep Agent

Transactions to be replicated are extracted from the source database transaction log.

The component that do that is the RepAgent.

REP Agent is a component that scans the transaction log of the source database and picks up the changes for replication.


3. From Rep Agent to Distributer

SQM – Stable Queue Manager

  • Write the changes to the queue.

In Bound Queue

  • Store changes until they will be distributed.
  • There is one inbound queue per primary database.
  • contains data rows and transactions that have begun at the primary database but have no yet been committed (SQT will pass to the next steps only committed transactions).
  • Transactions will be stored in IBQ until a copy will be distributed to all subscriptions (out-bound queue).

SQT – Stable Queue Transaction

  • Alert the Distributer that changes are available.
  • Move from the IBQ to the next steps only committed transactions

Distributer

The Distributer read transaction and determine who is subscribing to it.

Thread forward the transaction to the next SQM “on the way” to the out-bound Queue.


4. Distribute to target databases

SQM

A SQM for the out-bound queue - Writes the transaction to the out bound queue if there are subscription.

Out-bound Queue

There is one outbound queue for each RDB.

DSI / RSI

DSI / RSI “translate” between the source and target servers.

  • DSI – Data Server Interface – the target is database.
  • RSI – Replication Server Interface – the target is replication server.




No comments:

Post a Comment