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

Web 環境下 SQL Server 資料磁帶備份與還原架構設計

     編輯:關於SqlServer

核心難點與解決思路

  1. SQL Server 內建備份/還原無法直接滿足「滾動備份到磁帶」需求。
  2. Web 環境下如何觸發磁帶備份操作。

解決方案:建立橋接資料庫(容量等同磁帶),配合 SQL 備份指令與 NT IDC 技術實現。

工作流程

  1. 管理員將指定月份資料從主資料庫移至橋接資料庫(如 FJJDBBK)。
  2. 使用 SQL BACKUP DATABASE 將橋接資料庫備份至磁帶。
  3. 使用者查詢歷史資料時,將磁帶還原至橋接資料庫供查閱。
  4. 備份完成後清空橋接資料庫,下次備份前以空白橋接資料庫(預先建立無資料結構)快速重置。

空白橋接資料庫建立步驟

  1. 建立資料庫 FJJDBBK。
  2. 使用 Enterprise Manager Generate SQL Scripts 產生主資料庫表結構腳本。
  3. 在 Query Analyzer 執行腳本建立相同結構資料表。
  4. 備份此空資料庫備份檔,妥善保存供下次重置使用。

Web 實作:IDC 技術架構

IIS 提供 HTTPODBC.DLL (IDC) 透過 ODBC 存取資料庫。需建立兩類檔案:

  • .idc 檔:控制資料庫存取,含檔頭(資料來源、模板、帳號密碼)與主體(SQLStatement: 開頭的 SQL 陳述式,每行以 + 開頭)。
  • .htx 模板檔:HTML 模板,IDC 將查詢結果填入產生實際 HTML 回傳瀏覽器。

三大核心功能 IDC 範例

1. 資料備份 (BKUPCZ.idc)

Datasource: Web SQL
Template: BKUPCZ.htx
Username: sa
Password: sa
SQLStatement:
+ INSERT FJJDBBK.DBO.JKLD SELECT * FROM FJJDB.DBO.JKLD
+ WHERE CONVERT(VARCHAR(12), GDSJ, 1) >= '%QSRQ%'
+ AND CONVERT(VARCHAR(12), GDSJ, 1) <= '%ZZRQ%'
+ DUMP DATABASE FJJDBBK TO TAPE = '\\.\TAPE0' WITH INIT, NOUNLOAD
+ SELECT TS = '備份資料庫操作已完成!'

2. 資料還原 (HUIF.idc)

Datasource: Web SQL
Template: HUIF.htx
Username: sa
Password: sa
SQLStatement:
+ IF %JB% = 1
+ BEGIN
+ LOAD DATABASE FJJDBBK FROM TAPE = '\\.\TAPE0' WITH NOUNLOAD
+ SELECT TS = '還原資料庫操作已完成!'
+ END

3. 清理資料 (QLSJKCZ.idc)

Datasource: Web SQL
Template: QLSJKCZ.htx
Username: sa
Password: sa
SQLStatement:
+ DELETE FJJDB.DBO.JKLD
+ WHERE CONVERT(VARCHAR(12), GDSJ, 1) >= '%QSRQ%'
+ AND CONVERT(VARCHAR(12), GDSJ, 1) <= '%ZZRQ%'
+ SELECT TS = '刪除操作已完成!'

運作規劃

  • 主資料庫保留 4 個月資料。
  • 每月月初備份上月資料至磁帶,刪除第 4 個月資料。
  • 實現當前與歷史資料同步查閱,適用中小企業 Intranet 管理系統。

結語

資料庫備份屬關鍵作業,流程複雜,必須建立完善規範,由專業 DBA 執行操作。

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