asp備份資料庫
備份SQL資料庫:右擊資料庫名稱,出來所有任務,選擇備份資料庫,選擇路徑就行了;
還原資料庫:您先建一個sql數據錄。右擊資料庫名稱,選擇所有任務,還原資料庫,在選擇「從設備」找到你那個備份的文件選擇就好了。
2. 急~~~ASP備份和恢復SQL資料庫的操作方法
首先,你要這樣來備份資料庫:
SQL="backup database 資料庫名 to disk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"' with INIT"
這樣你的備份將覆蓋原來的同名備份(如果有的話),否則備份將附加在原來的備份上,不僅文件越來越大,日後還原時還會發生各種問題。
其次,資料庫在有用戶連接時是不能恢復的。
所以你要備份的話,不能鏈接到你的資料庫,要鏈接到master資料庫,使用:
cnn.open "driver={SQL Server};Server=伺服器名;uid=sa;pwd=;database=master"
再次,僅僅你不鏈接到資料庫,但不能保證沒有別人鏈接資料庫,所以還要斷開所有用戶到資料庫的連接,才能開始還原。可以使用下列語句來進行:
declare backup_cursor cursor global for select 'kill '+rtrim(spid) from master.dbo.sysprocesses where dbid=db_id('資料庫名') exec sp_msforeach_worker '?'
所以,你的程序要改成這樣:
1、備份
<%
SQL="backup database 資料庫名 to disk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"' with INIT"
set cnn=Server.createobject("adodb.connection")
cnn.open "driver={SQL Server};Server=伺服器名;uid=sa;pwd="
cnn.execute SQL
on error resume next
if err<>0 then
response.write "錯誤:"&err.Descripting
else
response.write "數據備份成功!"
end if
cnn.close
set cnn=nothing
%>
2、恢復
<%
aSQL="declare backup_cursor cursor global for select 'kill '+rtrim(spid) from master.dbo.sysprocesses where dbid=db_id('資料庫名') exec sp_msforeach_worker '?'"
bSQL="Restore database 資料庫名 from disk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"'"
set cnn=Server.createobject("adodb.connection")
cnn.open "driver={SQL Server};Server=伺服器名;uid=sa;pwd=;database=master"
cnn.execute aSQL
cnn.execute bSQL
on error resume next
if err<>0 then
response.write "錯誤:"&err.Descripting
else
response.write "數據恢復成功!"
end if
cnn.close
set cnn=nothing
%>
3. 在ASP.net中如何實現資料庫的備份與還原
簡單的做法(執行Sql語句):
1、資料庫備份:
use master;backup database @name to disk=@path;
2、資料庫還原:
use master;restore database @name from disk=@path With Replace;
註:
Sql參數:@name 為資料庫名稱,@path 為備份文件路徑;
以上兩條語句可以分別封裝為兩個方法可方便調用。