首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2000 記錄傳送角色切換實戰(二):角色互換、監控通知與登入同步完整流程

     編輯:關於SqlServer

步驟 4:通知監控伺服器角色已變更

在監控伺服器執行 sp_change_monitor_role,更新系統資料表參照:

  • 刪除 log_shipping_secondaries 中舊次要伺服器參照
  • 更新 log_shipping_primaries 中主要伺服器名稱為新主要伺服器
  • 不會新增資料至 log_shipping_secondaries(新配對尚未建立)
USE master
GO
EXEC msdb.dbo.sp_change_monitor_role
    @primary_server = 'oahu\sql2k_1',
    @secondary_server = 'oahu\sql2k_2',
    @database = 'Pubscopy',
    @new_source = 'oahu\sql2k_2'

步驟 5:在次要伺服器解析登入帳號

使用步驟 1 匯出的登入檔案,透過 sp_resolve_logins 解析 SID 差異:

重要: 必須在 master 資料庫執行,非目的資料庫。因程序使用非完整參照指向 syslogins 系統檢視表。
USE master
GO
EXEC sp_resolve_logins
    @dest_db = 'Pubscopy',
    @dest_path = 'd:\',
    @filename = 'syslogins.dat'

步驟 6:連結資料庫存取與權限

BOL 文件常忽略此步驟。需對每個登入帳號執行 sp_change_users_login,將解析後的登入連結至對應資料庫使用者:

USE pubscopy
GO
EXEC sp_change_users_login 'Update_One', 'UserName', 'LoginName'

角色變更 vs 角色互換

完成上述六步驟僅達成「角色變更」(次要→主要,主要→次要),尚未建立新的記錄傳送關係。完整「角色互換」需:

  1. 移除新主要伺服器維護計畫中的記錄傳送功能
  2. 刪除主要/次要伺服器的資料庫維護計畫
  3. 保留所有交易記錄檔
  4. 在新主要伺服器建立新維護計畫,指定新次要伺服器為目的地
  5. 重新啟動所有活動

實測發現直接在既有維護計畫加入新次要伺服器會導致交易記錄備份作業失敗,建議重建計畫。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved