在企業級 Web 信息系統中,數據備份與恢復是核心運維環節。本文詳細介紹一種基於 SQL Server 與 Windows NT 平台的磁帶備份方案,通過「橋數據庫」機制結合 IDC 技術,實現數據的滾動備份、歷史查詢與快速恢復,特別適合中小型企業構建基於 Intranet 的管理信息系統。
為充分利用 SQL Server 內建的 BACKUP/RESTORE 命令,降低開發成本,系統在硬盤上建立一個容量與磁帶對等的專用數據庫——橋數據庫(如 FJJDBBK)。其工作流程如下:
DUMP DATABASE 命令將橋數據庫完整寫入磁帶;LOAD DATABASE 將磁帶數據恢復至橋數據庫,用戶直接查詢橋數據庫;FJJDBBK;FJJDBBK 執行腳本,建立同結構空表;IIS 提供的 IDC(Internet Database Connector)是一個 DLL(HTTPODBC.DLL),通過 ODBC 訪問各類數據庫。Web 頁面訪問需兩類文件:
SQLStatement: 開頭,每行 SQL 以 + 開頭);.idc 結尾則轉交 IDC 模塊;| 功能 | 關鍵 SQL 命令 | 業務邏輯 |
|---|---|---|
| 數據備份 | INSERT INTO ... SELECT ...DUMP DATABASE ... TO TAPE | 依起止日期從主庫轉存數據至橋庫,再備份至磁帶 |
| 數據恢復 | LOAD DATABASE ... FROM TAPE | 提供「恢復橋數據庫」與「恢復空白橋數據庫」兩種模式 |
| 清理數據 | DELETE FROM ... WHERE date BETWEEN ... | 依起止日期刪除主庫中已備份的歷史數據 |
前提條件:所有操作需驗證系統管理員身份;每張表必須包含「歸檔時間」字段以支持按時間範圍操作。
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='備份數據庫操作已完成!'
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
Datasource: Web SQL
Username: sa
PassWord: sa
Template: QLSJKCZ.htx
SQLStatement:
+DELETE FJJDB.DBO.JKLD
+WHERE CONVERT(varchar(12), gdsj, 1) >= '%QSRQ%'
+AND CONVERT(varchar(12), gdsj, 1) <= '%ZZRQ%'
+SELECT TS='刪除操作已完成!'
系統規定:主庫保留近 4 個月數據,管理員每月初備份上月數據並刪除第 4 個月數據。此方案實現了當前數據與歷史數據同步查閱,是 Web 系統的一大優勢。文末強調:數據庫備份屬核心運維操作,流程複雜,必須建立完善規章,由專業 DBA 執行,確保數據資產安全。