首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

ASP 快速備份 SQL Server 資料庫至本地並提供下載範例碼

     編輯:MySQL 資料庫相關知識

利用 ADO 元件在 ASP 頁面中執行 BACKUP DATABASE 指令,即可將資料庫備份至伺服器本地路徑,並透過 ADODB.Stream 提供二進位下載。以下為精簡可用的核心程式碼:

<%
Response.Charset = "utf-8"
Session.Codepage = 65001
Response.Buffer = true
Response.Clear

' 修改連線字串:User ID、Password、Data Source
constr = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Password=your_pwd;Data Source=127.0.0.1"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open constr

' 備份檔名含時間戳記,避免覆蓋
bkfname = Server.MapPath(Format_Time(Now(),5) & "database.bak")
sqlstr = "BACKUP DATABASE your_db TO DISK='" & bkfname & "' WITH INIT"
conn.Execute sqlstr
conn.Close

Response.Write "Database backup success! <a href='" & bkfname & "'>Click to download</a>"

' 若需直接輸出二進位下載(瀏覽器會另存為 .asp,手動改副檔名即可)
' Set fn = Server.CreateObject("ADODB.Stream")
' fn.Mode = 3 : fn.Type = 1 : fn.Open
' fn.LoadFromFile bkfname
' Response.ContentType = "application/octet-stream"
' Response.BinaryWrite fn.Read
' fn.Close
%>

關鍵說明

  • WITH INIT:覆寫同名備份檔,避免追加導致檔案過大。
  • Format_Time 需自行實作或替換為 Year(Now)&Month(Now)&Day(Now)&Hour(Now)&Minute(Now)&Second(Now)。
  • IIS 執行身分需具備目標資料夾寫入權限。
  • 生產環境建議搭配排程任務(SQL Agent / Windows 排程器)離線備份,避免網頁逾時。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved