Presented by Paul Ibison
IT Technical Specialist
creator of www.replicationanswers.com
responsible for PayPal and EBay replication implementation
© 2012 Paul Ibison. All rights reserved.

What is Replication?
◦ “Replication is the process of sharing information between
databases (or any other type of server) to ensure that the
content is consistent between systems. ”

Transactional Replication
◦ Server to Server solution

Merge Replication
◦ Offline Database Client solution

Snapshot Replication
◦ Point in time copy of objects from one database to another

Other “competing” options are
◦
◦
◦
◦
◦
◦
◦
◦
◦
Distributed Transactions using MSDTC
Backup/Restore
Log Shipping
Linked Servers
Triggered Solution
SSIS
Clustering
Database Mirroring
HADR in SQL 2012
◦ Remote users at distant locations need quick
access to data – links are slow to head-office
◦ Mobile disconnected users – links are temporary
to head office but people need to work
◦ Disaster recovery???
◦ Need quick access to reporting data
◦ Need to refresh test environments
Reporting databases are
synchronized in near realtime with one or more
source OLTP databases
Management reports
don’t need to wait for a
backup and restore
•Central headquarters
data replicated to 16
vessels
•Poor satellite links –
slow and sometimes
disconnect, but the
vessel staff need to
continue working!
• Republishing
scenario for
regional
veterinary
practices
• Most complex
setup I
worked with!
• A magazine publisher produces
one or more publications
• A publication contains articles
• The publisher either distributes
the magazine directly or uses a
distributor
• Subscribers receive
publications to which they have
subscribed

Publications

Articles
◦ One or more articles
◦ Basis of subscription
◦ One or more per database
◦
◦
◦
◦
Tables or parts of tables
Views
Stored procedures
User-defined functions
Subscriber
Publication
Subscriber
Publisher/
Distributor
Subscribers
Publisher
Distributor
Subscribers
Microsoft SQL Server supports the following
types of replication:
 Snapshot Replication
 Transactional Replication (updatable
subscriptions for transactional replication
deprecated)
 Merge Replication



Distributes data as it appears at a moment in
time
This type is mostly used when the amount of
data to be replicated is small and data/DB
objects are static or does not change
frequently
Doesn’t require any schema changes or prerequisites

Permits low latency replication of data
modifications
◦ [Never synchronous]





Requires Primary Keys
Quick to process
Easy to troubleshoot
Subscriber data generally read-only
Doesn’t deal with conflicts well






Merges the updates between sites when
they are connected
Each Subscriber often has a different
partition of data
Adds a GUID to each table
Allows for conflict resolution
Slower to process
Can be difficult to troubleshoot
Snapshot
Transactional
Snapshot Agent
Snapshot Agent
Distribution Agent
Distribution Agent
Merge
Snapshot Agent
Log Reader Agent
Merge Agent
[Queue Reader
Agent]
Agents are the processes (jobs) that are responsible for copying
and distributing data between publisher and subscriber. There are
different types of agents supporting different types of replication.

Focused on your requests
◦ Monitoring & diagnostics
◦ Oracle Publishing
◦ Transactional
 Better high availability
 Initialization from backup
◦ Merge
 Performance
 Synchronization over the web
◦ Schema changes made using the following data definition
language (DDL) statements are automatically replicated
◦ Wizard simplicity
Designed specifically for Oracle Publishers

–
v8+ on any operating system
Administered like SQL Server, from SQL Server

–
No Oracle side software install necessary
–
Requires minimal knowledge of Oracle

Benefits
◦
◦
◦
◦

High availability & scale out of DB applications
No single point of failure
Allows maintenance without taking applications offline
Can scale queries across databases
Setup
◦ Using wizard is quite simple and requires no downtime to
existing nodes
◦ Publications must all have the same name

Benefits

Setup
◦ Restore a publisher DB backup to deliver the
initial data to a subscriber (instead of snapshot)
◦ Subscriber automatically picks up subsequent
changes on the publisher that occurred after the
backup
◦ Set the “allow initialization with backup”
publication option
◦ Restore a subsequent publisher backup to the
subscriber
Binary over TCP/IP
XML over HTTPS
Publisher/Distributor
IIS
Subscriber
Replisapi.dll
Firewall
•No VPN or port required
•Eases deployment of mobile applications
•Off by default
•Secure by default
• Only authenticated users can send
request
• Requires HTTPS


Microsoft SQL Server 2008 Express Edition can serve as a Subscriber
for all types of replication, providing a convenient way to distribute
data to client applications that use this edition of SQL Server.
When using SQL Server 2008 Express Edition in a replication
topology, keep the following considerations in mind:
◦ SQL Server 2008 Express Edition cannot serve as a Publisher or Distributor.
However, merge replication allows changes to be replicated in both
directions between a Publisher and Subscriber.
◦ SQL Server 2008 Express Edition does not include SQL Server Agent, which
is typically used to run replication agents. If you use a pull subscription (in
which agents run at the Subscriber), you must synchronize the
subscription using Windows Synchronization Manager or RMO.



Microsoft Resources:
◦ msdn.microsoft.com/sqlserver/
◦ www.microsoft.com/sql/community
Contact me:
◦ PaulIbison@replicationanswers.com
Websites:
◦ www.replicationanswers.com
◦ http://blogs.msdn.com/b/repltalk/