最簡單的SQLserver,發佈訂閱教程,保證一次就成功

 

 

最簡單的SQLserver,發佈訂閱教程,保證一次就成功sql

 

發佈訂閱用來作數據庫的讀寫分離,仍是很好用的 數據庫

當單臺數據庫的壓力太大時,能夠考慮這種方案,一主多從,主服務器的數據庫只管寫入,其餘的數據庫都是隻讀也是一種很好的方案windows

 

開始安全

咱們選擇A服務器作爲發佈的服務器, 服務器

B服務器作爲訂閱的服務器, sqlserver

 第一部分A服務器測試

 

選擇要A服務器,選擇 「複製」,「本地發佈」,右鍵本地發佈spa

 若是是第一次會有以下,一直點下一步3d

注意:..\ ReplData這個文件夾是發佈所在的文件夾,要保持訪問權限,當在c盤時,有時可能會出現沒法訪問,我這裏通常會給ReplData這個文件夾加上everyone權限代理

選擇要發佈的數據庫

注意:這個數據庫要有過完整備份

 

選擇發佈類型

 

注意:實時性高,數據量大的通常選擇事務發佈比較好

 

一直點下一步

 

注意,這一步很關鍵

 

 

注意:1,不要用sa帳戶,單獨再新建一個sqlserver帳戶,並且要有該數據庫的db_owner權限,

 

 

咱們來添加一個test帳戶  找到「安全性」,右鍵「登陸名」

 

點擊「用戶映射」更改一下test帳戶權限

 

 

這個test帳戶必定要有你即將要發佈的數據庫的public和db_owner權限

而後:在B服務器上進行如出一轍添加test帳戶的操做,後面會用到

添加完成以後繼續發佈,加上咱們添加的Test帳戶

 

有個警告,說代理沒運行

 

找到sqlserver管理器,將代理運行起來,

 

,B服務器也進行相同的操做,保證sqlserver代理都是開着的

 

到這裏還不夠

 

下一步,配置host,找到 A服務器文件  c:\windows\system32\drivers\etc下的hosts文件

 

 

在最後一行填上B服務器的ip 和主機名, 注意,ip和名字之間隔空格,這個ip但是是內網,也能夠是公網

 

而後A服務器就完備了,沒啥事了,接下來配置B服務器,  

 

 

第二部分,B服務器

在B服務器進行相同的操做主機上進行相同的添加host操做 

將A服務器的ip 和主機名 添加到B服務器的hosts文件下面,

 

而後開始建立訂閱

 

 

選擇查找SqlServer服務器,這裏服務器名稱寫A服務器的名稱,不能用ip,用剛纔在hosts文件裏面那個A服務器的主機名

 

使用sa或者剛纔建立的test帳戶登陸,登陸成功後,會看到A服務器的發佈

 

選擇上面的,推送訂閱,好處是便於集中管理

 

帳戶還用剛纔建立的那個test

 

而後一直下一步,直到完成

 

建立完成

 

測試一下,在A服務器添加一條數據

能夠看到,B服務器立刻也有了,刪除修改也會同步,到這裏就所有成功

 

其餘

在A服務器上面查看訂閱的情況

右鍵當前的發佈,「啓動複製監視器」

 

能夠看到當前的情況, 

若是訂閱沒有成功,或者數據沒能同步,能夠在這裏看看日誌,查找緣由。

 

 

 

常見問題

 1,  兩臺主機的 1433端口互相不通

 2,  SqlServer Agent 代理沒有開啓

3,  沒有配置 hosts 文件中的ip和主機名映射

4,  ReplData文件夾權限不足

5,  發佈訂閱前沒有進行完整備份

 

(聯繫做者,QQ 634892969)

 

 

 

 

 

 

 

 

相關文章
相關標籤/搜索