SQL Server常見復(fù)制功能的配置示例詳解
SQL Server 復(fù)制功能配置示例
SQL Server 提供了強(qiáng)大的數(shù)據(jù)復(fù)制功能,可以將數(shù)據(jù)從一個(gè)數(shù)據(jù)庫復(fù)制到一個(gè)或多個(gè)其他數(shù)據(jù)庫。以下是幾種常見復(fù)制類型的配置示例。
1. 快照復(fù)制配置示例
-- 在發(fā)布服務(wù)器上配置
-- 1. 創(chuàng)建發(fā)布
USE [AdventureWorks]
EXEC sp_addpublication
@publication = 'AdvWorksProductPub',
@description = 'AdventureWorks 產(chǎn)品數(shù)據(jù)快照發(fā)布',
@sync_method = 'native',
@repl_freq = 'snapshot',
@status = 'active';
-- 2. 添加項(xiàng)目(表)
EXEC sp_addarticle
@publication = 'AdvWorksProductPub',
@article = 'Product',
@source_owner = 'Production',
@source_object = 'Product';
-- 3. 添加訂閱
EXEC sp_addsubscription
@publication = 'AdvWorksProductPub',
@subscriber = 'SUBSCRIBER_SERVER',
@destination_db = 'AdventureWorksReplica',
@subscription_type = 'Push';
2. 事務(wù)復(fù)制配置示例
-- 在發(fā)布服務(wù)器上配置
-- 1. 創(chuàng)建發(fā)布
USE [AdventureWorks]
EXEC sp_addpublication
@publication = 'AdvWorksTranPub',
@description = 'AdventureWorks 事務(wù)發(fā)布',
@sync_method = 'concurrent',
@repl_freq = 'continuous',
@status = 'active',
@allow_push = 'true',
@allow_pull = 'true';
-- 2. 啟用事務(wù)復(fù)制
EXEC sp_addpublication_snapshot
@publication = 'AdvWorksTranPub';
-- 3. 添加項(xiàng)目(表)
EXEC sp_addarticle
@publication = 'AdvWorksTranPub',
@article = 'SalesOrderHeader',
@source_owner = 'Sales',
@source_object = 'SalesOrderHeader';
-- 4. 添加推送訂閱
EXEC sp_addpushsubscription_agent
@publication = 'AdvWorksTranPub',
@subscriber = 'SUBSCRIBER_SERVER',
@subscriber_db = 'AdventureWorksReplica',
@job_login = 'domain\account',
@job_password = 'password';
3. 合并復(fù)制配置示例
-- 在發(fā)布服務(wù)器上配置
-- 1. 創(chuàng)建發(fā)布
USE [AdventureWorks]
EXEC sp_addmergepublication
@publication = 'AdvWorksMergePub',
@description = 'AdventureWorks 合并發(fā)布',
@sync_mode = 'native',
@retention = 14,
@allow_push = 'true',
@allow_pull = 'true';
-- 2. 添加項(xiàng)目(表)
EXEC sp_addmergearticle
@publication = 'AdvWorksMergePub',
@article = 'Customer',
@source_owner = 'Sales',
@source_object = 'Customer',
@type = 'table',
@identityrangemanagementoption = 'auto';
-- 3. 添加上拉訂閱
EXEC sp_addmergepullsubscription
@publication = 'AdvWorksMergePub',
@publisher = 'PUBLISHER_SERVER',
@publisher_db = 'AdventureWorks',
@subscriber_type = 'local';
-- 4. 添加上拉訂閱代理
EXEC sp_addmergepullsubscription_agent
@publication = 'AdvWorksMergePub',
@publisher = 'PUBLISHER_SERVER',
@publisher_db = 'AdventureWorks',
@job_login = 'domain\account',
@job_password = 'password';
4. 使用T-SQL配置分發(fā)服務(wù)器
-- 在主服務(wù)器上配置分發(fā)
-- 1. 安裝分發(fā)服務(wù)器
USE master
EXEC sp_adddistributor
@distributor = 'DISTRIBUTOR_SERVER',
@password = 'distributor_admin_password';
-- 2. 創(chuàng)建分發(fā)數(shù)據(jù)庫
EXEC sp_adddistributiondb
@database = 'distribution',
@data_folder = 'D:\SQLData',
@log_folder = 'D:\SQLLogs';
-- 3. 啟用發(fā)布服務(wù)器使用此分發(fā)服務(wù)器
EXEC sp_adddistpublisher
@publisher = 'PUBLISHER_SERVER',
@distribution_db = 'distribution',
@security_mode = 1;
5. 監(jiān)控復(fù)制狀態(tài)
-- 檢查發(fā)布狀態(tài)
USE [distribution]
SELECT
publisher_db AS '發(fā)布數(shù)據(jù)庫',
publication AS '發(fā)布名稱',
article AS '項(xiàng)目',
subscriber_id AS '訂閱者ID',
status AS '狀態(tài)'
FROM dbo.MSarticles;
-- 檢查復(fù)制延遲
SELECT
publisher_db AS '發(fā)布數(shù)據(jù)庫',
publication AS '發(fā)布名稱',
subscriber_db AS '訂閱數(shù)據(jù)庫',
latency AS '延遲(秒)'
FROM dbo.MSreplication_monitordata;
-- 檢查未分發(fā)的命令
EXEC sp_replcounters;
注意事項(xiàng)
- 配置復(fù)制前確保SQL Server代理服務(wù)正在運(yùn)行
- 分發(fā)服務(wù)器、發(fā)布服務(wù)器和訂閱服務(wù)器之間需要有適當(dāng)?shù)木W(wǎng)絡(luò)連接
- 確保使用的賬戶有足夠的權(quán)限
- 對(duì)于大型數(shù)據(jù)庫,初始快照生成可能需要較長時(shí)間
- 定期監(jiān)控復(fù)制性能并根據(jù)需要調(diào)整參數(shù)
到此這篇關(guān)于SQL Server常見復(fù)制功能的配置示例詳解的文章就介紹到這了,更多相關(guān)SQL Server復(fù)制功能配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
推薦SQL Server 重新恢復(fù)自動(dòng)編號(hào)列的序號(hào)的sql代碼
推薦SQL Server 重新恢復(fù)自動(dòng)編號(hào)列的序號(hào)的sql代碼...2007-08-08
一個(gè)函數(shù)解決SQLServer中bigint 轉(zhuǎn) int帶符號(hào)時(shí)報(bào)錯(cuò)問題
這篇文章主要介紹了解決SQLServer中bigint 轉(zhuǎn) int帶符號(hào)時(shí)報(bào)錯(cuò)問題的函數(shù),需要的朋友可以參考下2014-08-08
SQL Server2008數(shù)據(jù)庫導(dǎo)入導(dǎo)出兼容性處理方案
SQL Server 的高版本數(shù)據(jù)庫恢復(fù)到低版本則可能會(huì)有兼容性問題,下面為大家介紹的是如何解決此類問題2014-05-05
SQL報(bào)錯(cuò)注入之updatexml的實(shí)現(xiàn)
updatexml函數(shù)通過輸入不符合XPATH格式的數(shù)據(jù)來觸發(fā)報(bào)錯(cuò),并利用這一點(diǎn)進(jìn)行SQL注入,通過分析報(bào)錯(cuò)信息,可以判斷是否存在注入點(diǎn),并逐步爆出數(shù)據(jù)庫名、表名、字段名以及敏感數(shù)據(jù),感興趣的可以了解一下2024-10-10
SQL SERVER連線查詢數(shù)據(jù)源IP地址及開啟SQL的IP地址連線方法
這篇文章主要介紹了SQL SERVER連線查詢數(shù)據(jù)源IP地址及開啟SQL的IP地址連線方法,文中通過圖文結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2024-06-06
微信小程序 滾動(dòng)選擇器(時(shí)間日期)詳解及實(shí)例代碼
這篇文章主要介紹了微信小程序 滾動(dòng)選擇器(時(shí)間日期)詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02
數(shù)據(jù)轉(zhuǎn)換沖突及轉(zhuǎn)換過程中大對(duì)象的處理
數(shù)據(jù)轉(zhuǎn)換沖突及轉(zhuǎn)換過程中大對(duì)象的處理方法,大家可以參考下。2009-07-07

