經典 ASP 頁面調用 SQLOLEDB 執行 BACKUP DATABASE 生成 .bak 文件,並提供下載鏈接。
<%
Response.Charset = "utf-8"
Session.Codepage = 65001
Response.Buffer = True
Response.Clear
Const constr = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=endiva;Password=endiva;Data Source=211.160.78.6"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open constr
bkfname = Server.MapPath(Format_Time(Now(),5) & "database.bak")
sqlstr = "BACKUP DATABASE fang TO DISK='" & bkfname & "' WITH INIT"
conn.Execute sqlstr
conn.Close
Response.Write "database [fang] backup success! "
Response.Write "click download"
%>
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
BACKUP DATABASE 權限及目標目錄寫入權限。WITH INIT 覆蓋同名備份文件,避免追加導致文件膨脹。