sql server 2008 r2 雙機熱備操作流程-Microsoft SQL Server 雙機熱備份,實時同步


1.兩台服務器,主服務器,從服務器,兩台服務器都安裝SQL Server 2008R2並且安裝相同表結構的數據庫(需要實時同步的數據庫)--追加:沒有主鍵的表不能進行數據同步

2.主服務器數據庫安裝完畢,打開SQL Server 配置管理器,把SQL Server 代理服務打開(已打開請忽略)

 

 

 3.登錄主服務器數據庫,從數據庫左側菜單欄找到->復制->本地發布,右擊新建發布

 

 

 4.默認主服務器當作分發服務器

 

 

 5.快照文件夾最好新建一個目錄(需要手動在D盤新建目錄),默認目錄會有權限問題(對於新手權限問題不好解決)

 

 

 6.選擇需要發布的數據庫

 

 

 7.發布類型選擇事務發布(發布類型的區別可自行百度,此處不做敘述)

 

 

 8.選擇需要發布的表(需要同步到從服務器數據庫表的數據)--追加:存儲過程、自定義函數都可以勾選同步

 

 

 9.篩選表行(意思是表中的哪些字段你不需要同步到從服務器

 

 

 10.快照代理,選擇->立即創建快照並使快照保持可用狀態,以初始化訂閱

 

 

 11.代理安全性,點擊安全設置,按照紅色框中設置即可

 

 

 

 

 

 12.向導操作,選擇->創建發布->下一步

 

 

 13.完成該向導,填寫一個發布名稱,點擊完成,到此步驟主服務器本地訂閱發布已經完成

 

 

 

 

 

 14.登錄從服務器數據庫,從數據庫左側菜單欄找到->復制->本地訂閱->右擊新建訂閱->選擇查找SQL Server 發布服務器,數據庫服務器名稱要是主服務器計算機名稱,輸入登錄名和密碼

 

 

 

 

 

 15.選擇剛才主服務器發布的訂閱

 

 

 16.選擇運行分發代理的位置,勾選第一個,如果選擇第二個也需要開啟從服務器SQL Server代理服務

 

 

 17.選擇訂閱服務器(從服務器),訂閱數據庫需要同步的數據庫(主服務器和從服務器熱備份的數據庫結構需要一致)

 

 

 18.分發代理安全性,推薦按紅色框中設置,如下圖:

 

 

 

 

 

 19.同步計划選擇連續運行

 

 

 20.初始化訂閱

 

 

 21.向導操作->創建訂閱->下一步->完成

 

 

 

 

 

 

 

 

 22.刷新從服務器左側菜單欄下的本地訂閱,會出現剛剛創建好的訂閱,為了驗證設置是否成功,右擊創建好的訂閱->查看同步狀態,如圖顯示同步正在進行則說明雙機熱備份設置成功

 

 

 

 

 

 23.測試配置是否生效,在主服務器數據庫通過updata語句修改某個表的字段值,然后查看從服務器數據庫是否對應修改即可

來自:https://www.cnblogs.com/itdaocaoren/p/10475497.html  (評論:忘了事物復制吧,用Always on

另一篇比較有參考價值的文章:https://www.cnblogs.com/ind9x/p/13192182.html

SQL Server發布訂閱異常處理

語句強制刪除發布

EXEC sp_removedbreplication 'WR_YK1';  --- 引號里是發布數據庫名稱

 

 

SQL2008發布訂閱報錯“進程無法在WIN-SERVER 上執行 sp_replcmds”

執行以下SQL腳本

首先執行

 ALTER AUTHORIZATION ON DATABASE::[數據庫名] TO [sa]

 ALTER AUTHORIZATION ON DATABASE::[數據庫名] TO [SQL登錄用戶名]

然后執行

  USE 數據庫名 
  GO

  sp_changedbowner 'SQL登錄用戶名'

最后執行

EXEC sp_repldone @xactid =NULL, @xact_segno =NULL, @numtrans = 0, @time =0, @reset =1

EXEC sp_replflush

如果還是不可以, 重啟SQL Server Agent服務。

修改機器名后

--查看當前數據庫服務器名稱:

select @@ServerName

--查看當前服務器名稱
select serverproperty('servername')

--修改數據庫服務器名稱
sp_dropserver 'old_servername'
sp_addserver 'new_servername','local'

--重啟數據庫服務,修改完成

--安全性->登陸名->右鍵,新建登陸名->選擇Windows身份驗證

 

select @@servername;
      select serverproperty('servername')

如果這兩個結果不一致,說明機器改過名字,在配置復制的時候就會報上面的錯誤。

     --要修復此問題   
     --執行下面的語句,完成后重新啟動SQL服務   
    
if   serverproperty('servername')   <>   @@servername   
         begin   
             declare   @server   sysname   
            set   @server   =   @@servername   
            exec   sp_dropserver   @server   =   @server   
            set   @server   =   cast(serverproperty('servername')   as   sysname)   
            exec   sp_addserver   @server   =   @server   ,   @local   =   'LOCAL'   
        end

      

最后別忘了重新啟動服務哦,啟動完后,在運行:

      use master

      go

      select @@servername;
      select serverproperty('servername')

 

 

發布訂閱 新建發布結束時候提示 distributor_admin 登錄失敗

曾經有做過發布訂閱,分發服務器已經產生此用戶,在分發服務器上將此用戶的密碼策略取消即可。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM