在監控伺服器執行 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'
使用步驟 1 匯出的登入檔案,透過 sp_resolve_logins 解析 SID 差異:
master 資料庫執行,非目的資料庫。因程序使用非完整參照指向 syslogins 系統檢視表。
USE master
GO
EXEC sp_resolve_logins
@dest_db = 'Pubscopy',
@dest_path = 'd:\',
@filename = 'syslogins.dat'
BOL 文件常忽略此步驟。需對每個登入帳號執行 sp_change_users_login,將解析後的登入連結至對應資料庫使用者:
USE pubscopy
GO
EXEC sp_change_users_login 'Update_One', 'UserName', 'LoginName'
完成上述六步驟僅達成「角色變更」(次要→主要,主要→次要),尚未建立新的記錄傳送關係。完整「角色互換」需:
實測發現直接在既有維護計畫加入新次要伺服器會導致交易記錄備份作業失敗,建議重建計畫。