程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server復制:事務發布

SQL Server復制:事務發布

編輯:關於SqlServer

一、背景

在復制的運用場景中,事務發布是使用最為廣泛的,我遇到這樣一個場景:在Task數據庫中有Basic與Group兩個表,需要提供這兩個表的部分字段給其它程序讀取放入緩存,程序需要比較及時的獲取到這些數據,作為DBA你需要從權限和性能控制的角度出發,我采用了SQL Server的事務復制技術和timestamp,下面只講述事務復制的搭建過程;

二、實現過程

(一) 環境信息

系統環境:Windows Server 2008 + SQL Server 2008 R2

發布服務器:192.168.1.151,服務器名稱:USER-H2B2A89PEK

分發服務器:與發布服務器同一台機器

訂閱服務器:192.168.1.152,服務器名稱:USER-FJMO8L052U

發布數據庫:Task

訂閱數據庫:TaskSiteInfo

數據庫帳號:ReplicationUser/ ReplicationPassword

(二) 搭建步驟

A. 發布服務器配置

首先在發布數據庫和訂閱數據庫上創建相同的帳號和密碼(ReplicationUser/ ReplicationPassword),並且設置Task數據庫的安全對象,設置這樣的帳號的目的就是為了和程序連接到數據庫的帳號區分開,可以做權限上的控制,方便問題的排查;

--更改安全對象的所有權

ALTER AUTHORIZATION ON DATABASE::[Task] TO [ReplicationUser]

在E盤目錄下創建文件夾:E:\ReplData,並設置這個文件夾為共享目錄,共享用戶為barefootadmin;

(Figure1_1:文件夾權限)

這裡需要設置SQL Server Agent登陸帳號為上面文件夾訪問用戶barefootadmin;

(Figure1_2:SQL Server Agent登陸帳號)

(Figure2:分發服務器)

如果你設置快照文件夾路徑為:E:\ReplData,即使你的發布服務器本身就是分發服務器,如果訂閱服務器是另外一台機器,那麼在請求(Pull)訂閱(如果是推送(Push)訂閱就沒有這個限制)模式下訂閱代理是無法訪問到這個快照文件的;除非你發布服務器、分發服務器和訂閱服務器都是同一台機器;你應該設置快照文件夾路徑為:\\USER-H2B2A89PEK\ ReplData;

(Figure3:快照文件夾)

(Figure4:數據庫)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved