Documente Academic
Documente Profesional
Documente Cultură
Topics
• SQL Server Replication Review
• Concepts, terminology
• Snapshot Replication
• Transactional Replication
• Change tracking and forwarding
• Deployment examples
• Merge Replication
• Change tracking and forwarding
• Deployment examples
• Summary
What Is SQL Server Replication?
• Publication:
• Defines a group of source database objects to replicate
• The individual database objects are identified as publication
“articles”
• Subscription:
• Defines subscriber as a destination for data flowing from the
specified source publication
• Filters – row and column
• Static filters define data partition during publication creation
and apply to all future subscriptions
• Dynamic filters are calculated during synchronization and
allow data filtering on a per subscriber basis.
Publishers And Subscribers
odbc/ole-db
Publisher/Distributor
Handhelds (SQL Server CE)
(SQL Server)
Subscribers
Common Replication Scenarios
Files containing
schema and data
Publishing Published Distribution
Database Tables Agent
Subscribing
Database
Snapshot Replication
Topics
• SQL Server Replication Review
• Concepts, terminology
• Snapshot Replication
• Transactional Replication
• Change tracking and forwarding
• Deployment examples
• Merge Replication
• Change tracking and forwarding
• Deployment examples
• Summary
Transactional Replication
Snapshot
Agent
Files containing
schema and data
Publishing Published Distribution
Database Agent
Tables
Subscribing
Database
DB
log Logreader Distribution
Agent Database
Publisher
Queue
Queue
Transactional Replication
Topics
• SQL Server Replication Review
• Concepts, terminology
• Snapshot Replication
• Transactional Replication
• Change tracking and forwarding
• Deployment examples
• Merge Replication
• Change tracking and forwarding
• Deployment examples
• Summary
Transactional Replication
Reporting Server/DW Staging
OLAP
Tokyo
Cube
Subscriber
Redmond
Load Balancing
Replication
Publisher
Distributor
Internet Clients
App Server Tier Read Only Data Tier Updatable Data Tier
(Subscribers) (Publisher)
Transactional Replication
Data Consolidation And Distribution
Subscriber
Publisher
London
Subscriber
Publisher Subscriber
Publisher
Tokyo
Redmond Subscriber
Publisher
New Delhi
Transactional Replication
Creating A Warm Standby Server
Default or Custom
Resolver
Goals
• Eliminate or reduce the possibility of conflicts.
• Minimize the volume of data maintained at client
• Improve performance over a slow link
• Prevent clients from receiving sensitive data
Implementation
• Vertical partitions - Column filters on tables
• Horizontal partitions
• Subset filters on individual tables
• Join filters according to relationship between tables
• Both static and dynamic partitioning can be supported
Merge Replication
Conflict Resolution
• Source Wins
• Changes sent to destination
• Destination wins
• Discard changes and rely on next phase to propagate winner
• Generate new row
• E.g., Additive Resolver
• Update destination and propagate changes during next phase
to source
• Customizable
Merge Replication
HTTP sync with SQL Server CE
Device
DB
.IN .OUT
demo
Merge Replication
Topics
• SQL Server Replication Review
• Concepts, terminology
• Snapshot Replication
• Transactional Replication
• Change tracking and forwarding
• Deployment examples
• Merge Replication
• Change tracking and forwarding
• Deployment examples
• Summary
Merge Replication
Deployment
• Mobile applications
• Sales Force Automation
• Distribution Applications
• Inventory Tracking
• Catalog Servers
• Regional servers that make offline local updates with shared
data
• Incident tracking/Call Center applications
• Example: Microsoft RAID bug database
Merge Replication Example
Sales Force Automation Topology
Central Publisher
West Coast
East Coast
HQ Regional Managers
Regional Regional
Server Server
Regional
Server
Mobile Users
Mobile Users
Sales Office
Sales Office
Mobile Users
Merge Replication
Server To Server - MSN Search Example
Catalog 2
Catalog 1
Catalog 3
SQL Server
Connection Publisher
Firewall Firewall
• HTTP synchronization
• Typically data is partitioned for each user
• Number of devices syncing with the server is large
Putting It All Together…
Internet customers