云服务器网:购买云服务器和VPS必上的网站!

MSSQL数据库的复制定阅功能

MSSQL数据库的复制定阅功能是数据库复制的一种实现机制,用于实现发布者和定阅者之间的异步数据复制。 它可以将数据复制到多个发布者,也能够将数据复制到多个定阅者。使用MSSQL复制定阅功能可以更好地实现主从、主从散布式等复杂数据复制场景。
复制定阅系统由发布者

MSSQL数据库的复制定阅功能是数据库复制的一种实现机制,用于实现发布者和定阅者之间的异步数据复制。 它可以将数据复制到多个发布者,也能够将数据复制到多个定阅者。使用MSSQL复制定阅功能可以更好地实现主从、主从散布式等复杂数据复制场景。

复制定阅系统由发布者和定阅者组成。发布者将保存在该系统中的更改,如数据行插入、更新和删除,捆绑在一起,称为事务复制。发布者将更改发布到发布数据库,这也是发布数据库的最初版本。定阅者获得发布数据库的范围,并将其复制到定阅数据库。每次复制发布更改,就会在定阅者处重新生成定阅数据库的最新版本。

MS SQL复制定阅服务的功能类似于Pub/Sub模式,客户端无需开发代码以获得发布的数据,而只需定阅数据更改。当数据更改时,在定阅者上,注册的事件句柄将被调用,可以履行存储进程或推送系统,从而可以轻松实现复制定阅功能。

下面是采取MSSQL复制定阅功能实现复杂数据复制的示例:

使用MSSQL数据库管理系统,从西雅图的主服务器的isam_db复制相同的数据到东京的服务器。

–创建一个第二个publication

USE [master]

GO

EXEC sp_addpublication @publication = N’ISAM_DB_Copy’, @description = N’Transactional replication of ISAM databases’, @whitelistservicename = N’ISAM-DB_Copy_Snapshot_Replication’, @delivery_stream = N’Repli_ISAM_DB_Copy’, @delivery_type = 1, @immediate_sync = 0

GO

–设定isam_db数据库作为发布者

use [ISAM_DB]

EXEC sp_addarticle @publication = N’ISAM_DB_Copy’, @article = N’db_customer’, @source_owner = N’dbo’, @source_object = N’db_customer’, @type = N’logbased’, @description = N’db_customer’, @destination_table = N’db_customer’, @pre_creation_cmd = N’drop’, @schema_option = 0x000000000803509D, @identityrangemanagementoption = N’manual’, @identity_range = 0, @parameters = N’unsplittable’

GO

–让ISAM下的Data_Sales表作为发布者

use [ISAM_DB]

EXEC sp_addarticle @publication = N’ISAM_DB_Copy’, @article = N’data_sales’, @source_owner = N’dbo’, @source_object = N’data_sales’, @type = N’logbased’, @description = N’data_sales’, @destination_table = N’data_sales’, @pre_creation_cmd = N’drop’, @schema_option = 0x000000000803509D, @identityrangemanagementoption = N’manual’, @identity_range = 0, @parameters = N’unsplittable’

GO

–让ISAM_DB下的Inventory表作为发布者

use [ISAM_DB]

EXEC sp_addarticle @publication = N’ISAM_DB_Copy’, @article = N’inventory’, @source_owner = N’dbo’, @source_object = N’inventory’, @type = N’logbased’, @description = N’inventory’, @destination_table = N’inventory’, @pre_creation_cmd = N’drop’, @schema_option = 0x000000000803509D, @identityrangemanagementoption = N’manual’, @identity_range = 0, @parameters = N’unsplittable’

GO

–添加一个定阅

EXEC sp_addsubscription @publication = N’ISAM_DB_Copy’, @subscriber = N’DESKTOP-K1TNHR6\sqlserver’, @destination_db = N’ISAM_DB_Copy_Tokyo’, @sync_type = N’initialize with backup’, @backupdevicetype = N’disk’, @backupdevicename = N’c:\backup_tokyo\ISAM_DB_Copy_Backup.bak’, @subscription_type = N’push’, @update_mode = N’read only’

GO

–启动复制

EXEC sp_startpublication_snapshot @publication = N’ISAM_DB_Copy’, @force_initiator = 1, @force_reinit = 1

GO

使用MSSQL复制定阅功能可以更有效地实现复杂的复制场景,进而下降数据复制的开发难度,提高复制性能,提供最好的高可用性数据解决方案。

本文来源:https://www.yuntue.com/post/107721.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注