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

YourSQLDba 實現 SQL Server 備份到網絡共享路徑完整配置指南

     編輯:Oracle 教學

YourSQLDba 實現 SQL Server 備份到網絡共享路徑完整配置指南

YourSQLDba 支持直接備份到網絡共享 (UNC 路徑),但涉及權限鏈、服務賬號、xp_cmdshell 等多個環節,配置不當極易失敗。本文記錄一次 Windows Server 2012 + SQL Server 2014 的完整落地過程,含踩坑避雷指南。

環境基線

  • OS:Windows Server 2012 Standard
  • DB:SQL Server 2014
  • 目標:備份至 \\192.168.7.146\YourSQLDBABAK\Server1

步驟 1:共享資料夾權限配置

  • 在目標服務器建立共享文件夾,授予特定域賬號 (如 DOMAIN\sql_svc) 讀寫/修改 權限(NTFS + 共享權限雙重允許)。
  • 避免使用 Everyone,生產環境最小權限原則。

步驟 2:映射網絡驅動器 (建立持久化連接)

雖然 YourSQLDba 內部會嘗試映射,但手動預映射可預先驗證連通性:

  1. 文件資源管理器 → 「此電腦」→「映射網絡驅動器」
  2. 驅動器號:S:,文件夾:\\192.168.7.146\YourSQLDBABAK\Server1
  3. 勾選「使用其他憑證連接」,輸入域賬號密碼,勾選「登錄時重新連接」。

步驟 3:啟用 xp_cmdshell (YourSQLDba 依賴)

EXEC sp_configure 'show advanced options', 1; RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE;

若報錯 configuration option 'xp_cmdshell' does not exist,請確認先執行了 show advanced options。

步驟 4:SQL Server 服務賬號 — 關鍵陷阱

默認安裝使用 NT Service\MSSQLSERVER 虛擬賬號,無法訪問網絡資源!

  • 必須將 SQL Server 服務 (及 Agent 服務) 登錄賬號改為擁有共享權限的域賬號 (如 DOMAIN\sql_svc)。
  • 修改後重啟服務生效。
  • 若保持虛擬賬號,執行 CreateNetworkDrives 會報「Logon failure: unknown user name or bad password」。

步驟 5:註冊網絡驅動器到 YourSQLDba

EXEC YourSQLDba.Maint.CreateNetworkDrives
  @DriveLetter = 'S:',
  @UNC         = '\\192.168.7.146\YourSQLDBABAK\Server1';

此過程內部執行 net use S: /delete 後 net use S: \\...,依賴 xp_cmdshell 與服務賬號權限。

步驟 6:修改維護作業參數指向網絡路徑

EXEC Maint.YourSqlDba_DoMaint
  @Oper                    = 'YourSQLDba_Operator',
  @MaintJobName            = 'YourSQLDba: DoInteg,DoUpdateStats,DoReorg,Full backups',
  @DoInteg                 = 1,
  @DoUpdStats              = 1,
  @DoReorg                 = 1,
  @DoBackup                = 'F',           -- Full backup
  @FullBackupPath          = 'S:\FULL_BACKUP\',
  @LogBackupPath           = 'S:\LOG_BACKUP\',
  @FullBkpRetDays          = 1,
  @LogBkpRetDays           = 1,
  @SpreadUpdStatRun        = 1,
  @ConsecutiveFailedbackupsDaysToPutDbOffline = 9999;

實戰踩坑記錄與對策

現象根因對策
備份失敗 Error 3201 ... Operating system error 53 (The network path was not found)網絡抖動導致映射驅動器斷開,或服務賬號無權限1. 服務賬號改域賬號 2. 檢查防火牆/網絡穩定性 3. 考慮備份本地後再異步複製
xp_cmdshell 配置報錯未先開啟 show advanced options按順序執行 sp_configure
映射驅動器 S: 已存在但無法訪問殘留連接、憑證過期net use S: /delete /y 後重建

高可用建議

  1. 本地落盤 + 異步同步:優先備份到本地高速磁盤,再用 Robocopy / Azure File Sync / DFS-R 異步推送到遠端,避免網絡抖動直接導致備份作業失敗。
  2. 監控告警:監控 msdb..backupset 最近備份時間,超過閾值告警。
  3. 定期演練恢復:從網絡路徑還原測試,驗證備份文件完整性與權限鏈。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved