無法用程式還原資料庫 |
尚未結案
|
will
中階會員 ![]() ![]() ![]() 發表:176 回覆:135 積分:62 註冊:2002-04-14 發送簡訊給我 |
我想在程式內加入備份和還原資料庫的功能
備份沒有問題, 但還原卻出現了
User does not have permission to RESTORE database 'Health'.
RESTORE DATABASE is terminating abnormally
的錯誤訊息 我備份的語法如下:
backup database Health to disk='D:\Data\ASPNET\Health8\Backup\myback.bck' with init
還原的語法如下:
restore database Health from disk = 'D:\Data\ASPNET\Health8\Backup\myback.bck' 我是以Windows 整合驗證接接資料庫的 我把還原的語法拿到Enterprise Manager 內是可以執行的 請問要如何解決呢?
|
sos_admin
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
程式如下:
function TDBRestoreFrm.RestoreDB(strDBName,strFileName: string): boolean; var strSQL: string; begin Result := false; strSQL := 'RESTORE DATABASE [' strDBName '] FROM DISK = N''' strFileName ''' WITH FILE = 1, NOUNLOAD , STATS = 10, RECOVERY, REPLACE'; try ADOConnectionSQL.DefaultDatabase := 'master'; ADODataSetWho.Recordset := ADOConnectionSQL.Execute('sp_who'); ADODataSetWho.First; while not ADODataSetWho.Eof do begin if ADODataSetWho.FieldByName('dbname').AsString = strDBName then begin ADOConnectionSQL.DefaultDatabase := strDBName; MessageBox(Application.Handle,Pchar('用户' ADODataSetWho.FieldByName('loginame').AsString '正在使用数据库' strDBName '!'),'恢复错误',MB_OK MB_ICONERROR); Exit; end; ADODataSetWho.Next; end; ADOConnectionSQL.Execute(strSQL); except MessageBox(Application.Handle,'无法恢复数据库文件!','恢复错误',MB_OK MB_ICONERROR); Exit; end; Result := true; end; procedure TDBRestoreFrm.Button1Click(Sender: TObject); begin ADOConnectionSQL.Close; ADOConnectionSQL.ConnectionString:='Provider=SQLOLEDB.1;Password=''' Trim(Password.Text) ''';Persist Security Info=True;User ID=''' Trim(UserName.Text) ''';Data Source=''' Trim(ServerName.Text) ''''; Try ADOConnectionSQL.Open; if ADOConnectionSQL.Connected then if RestoreDB(Trim(DataBaseName.Text),Trim(DBRestoreFile.Text)) then MessageBox(handle,'数据库成功恢复!','系统提示',mb_ok); Except on ex:Exception do raise Exception.Create('出错提示:' #13#10 ex.Message); end; end;风花雪月 e梦情缘 网络代号:wnhoo or sos_admin 网名:e梦缘 Mail:wnhoo@163.com |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |