首頁
編程語言
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 資料(新配對未建立)
程式碼範例 3:sp_change_monitor_role
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,非目的資料庫。
程式碼範例 4:sp_resolve_logins
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'

角色變更 ≠ 角色互換

完成六步驟僅達成「角色變更」。完整「角色互換」需在新主要/次要伺服器間重新設定記錄傳送:

  1. 移除新主要伺服器維護計畫中的記錄傳送
  2. 刪除雙方維護計畫
  3. 保留所有交易記錄檔
  4. 在新主要伺服器建立新維護計畫,指定新次要伺服器
  5. 重新啟動所有活動

實測直接在既有計畫加入新次要伺服器會導致備份作業失敗,建議完全重建。

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