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

SQL Server 災難恢復頂級技巧 (一):登入帳號、使用者、代理作業、SSIS 套件...外部相依完整清單

     編輯:關於SqlServer

核心觀念

高可用性架構 (Log Shipping、Replication、Database Mirroring) 只解決資料層面的容錯。故障切換至備援伺服器後,應用程式能否立即正常運作,取決於資料庫外部相依物件是否已同步部署。

易遺漏的外部相依清單

類別具體項目同步策略
登入/使用者SQL 登入帳號 (含密碼、SID)用 sp_help_revlogin 腳本產生含原始 SID 的 CREATE LOGIN 指令,在備援機執行
資料庫使用者與登入對應切換後執行 EXEC sp_change_users_login 'UPDATE_ONE', 'db_user', 'login' 修復孤立使用者
SQL Server Agent作業、排程、警示、操作員、Proxy 帳號用 sp_script_job / sp_script_schedule 產生部署腳本,或 SSMS 「產生指令碼」
DTS / SSIS套件 (.dtsx)、設定檔、連線管理員檔案系統複製 + 環境變數/設定檔調整連線字串
連結伺服器Linked Server 定義、遠端登入對應sp_addlinkedserver + sp_addlinkedsrvlogin 腳本化部署
CLR 組件ASSEMBLY、非對稱金鑰/憑證CREATE ASSEMBLY FROM 'path\dll' 同步部署
系統資料庫物件msdb 作業歷程、model 範本、master 登入/端點納入備份策略,災難時一併還原
同名資料庫衝突多個應用共用實例,資料庫名稱相同規劃命名規範或使用具名實例隔離
外部檔案/路徑FILESTREAM 目錄、備份裝置、大量匯入格式化檔相同磁碟路徑或共享資料夾掛載
應用程式設定連線字串、功能旗標、快取設定設定檔版本化、部署管道自動切換

自動化登入同步:sp_help_revlogin

  1. 在主伺服器執行微軟官方 sp_help_revlogin 腳本 (產生含 SID/密碼雜湊的 CREATE LOGIN)
  2. 將輸出腳本複製到備援伺服器執行
  3. 切換後資料庫使用者自動對應正確 SID,無需 sp_change_users_login

實作建議

  • 建立 災難恢復執行手冊 (Runbook),列出所有外部物件部署順序與驗證腳本
  • 每季演練一次完整切換,計算 RTO (恢復時間目標) 與 RPO (恢復點目標)
  • 將外部物件部署納入 CI/CD 管道,隨應用程式版本同步推送
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved