在delphi中怎么对sqlserver 数据库进行备份! 在delphi中怎么对sqlserver 数据库进行备份! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用sql命令backup database dbname to disk='c:\aaa.dat' with init 恢复操作的时候,要把当前的数据库连接关闭,通过另一个 TADOConnection连接到Master数据库上 1. ADOConnection1 连接你的业务数据库。 2. ADOConnection2 连接 MASTER 数据库。 3. ADOCommand1.Connection := ADOConnection2; 假设你的数据库名为: DataBaseName Button.OnClick: begin ADOConnection1.Connected := False; ADOCommand1.CommandText := 'BACKUP DATABASE DataBaseName TO DISK = ' + #39 + 'C:\KKK.BAK' + #39; ADOCommand1.Execute; ADOCommand1.CommandText := 'ALTER DATABASE DataBaseName SET OFFLINE WITH ROLLBACK IMMEDIATE'; ADOCommand1.Execute; ADOCommand1.CommandText := 'RESTORE DATABASE DataBaseName FROM DISK = ' + #39 + 'C:\KKK.BAK' + #39; ADOCommand1.Execute; ADOCommand1.CommandText := 'ALTER DATABASE DataBaseName SET ONLINE WITH ROLLBACK IMMEDIATE'; ADOCommand1.Execute; ADOConnection1.Connected := True; ADOTable1.Active := true; end; adoconnection连接到数据库,adoquery连接adoconnection语句如下:adoconnection.open;adoquery.close;adoquery.sql.clear;adoquery.sql.add('backup database 数据库名称 to disk=''c:\数据库名称.dat''');adoquery.open; str:='BACKUP DATABASE kmschedule TO disk= ''c:\kmschedule.bak'' WITH init,NAME = ''Full Backup of kmschedule'''; //备份str1:='restore DATABASE kmschedule from disk= ''c:\kmschedule.bak'' WITH replace'; //恢复 adoquery1.Close; adoquery1.SQL.Clear; adoquery1.SQL.Add(str); adoquery1.Prepared; adoquery1.ExecSQL; 我在上边写错了应该是:adoconnection.open;adoconnection.exec('backup database 数据库名称 to disk=''c:\数据库名称.dat'''); 可以提供一个例子给你,我站上:http://www.kaer.com.cn/default.aspx下载区中有,其他问题:[email protected] 先用语句创建数据库设备,再在设备的基础上用语句备份数据库。在SQL中,没有先创建设备是不能进行数据库备份的。 TWebBrowser下载的图,如何获得它在Temp的位置及文件名﹖ 关于VirtualTreeview,鼠标单击Node时有时无法响应! 动态库调用问题 怎么将stream的内容全部置0 那位高手讲讲CGI???? 我只有这30分了,一个高难度问题要向大家请教(关于创建及放弃)! 用ado连接access数据库移植的问题 大家谁知道国外发布软件的地方 我该怎么办? 如何倒入成批数据? c/s!!! 分割数据(问题急于解决,请帮忙看看)!!!
TADOConnection连接到Master数据库上
1. ADOConnection1 连接你的业务数据库。
2. ADOConnection2 连接 MASTER 数据库。
3. ADOCommand1.Connection := ADOConnection2;
假设你的数据库名为: DataBaseName
Button.OnClick:
begin
ADOConnection1.Connected := False;
ADOCommand1.CommandText := 'BACKUP DATABASE DataBaseName TO DISK = ' + #39 + 'C:\KKK.BAK' + #39;
ADOCommand1.Execute;
ADOCommand1.CommandText := 'ALTER DATABASE DataBaseName SET OFFLINE WITH ROLLBACK IMMEDIATE';
ADOCommand1.Execute;
ADOCommand1.CommandText := 'RESTORE DATABASE DataBaseName FROM DISK = ' + #39 + 'C:\KKK.BAK' + #39;
ADOCommand1.Execute;
ADOCommand1.CommandText := 'ALTER DATABASE DataBaseName SET ONLINE WITH ROLLBACK IMMEDIATE';
ADOCommand1.Execute;
ADOConnection1.Connected := True;
ADOTable1.Active := true;
end;
语句如下:
adoconnection.open;
adoquery.close;
adoquery.sql.clear;
adoquery.sql.add('backup database 数据库名称 to disk=''c:\数据库名称.dat''');
adoquery.open;
str1:='restore DATABASE kmschedule from disk= ''c:\kmschedule.bak'' WITH replace'; //恢复
adoquery1.Close; adoquery1.SQL.Clear;
adoquery1.SQL.Add(str);
adoquery1.Prepared;
adoquery1.ExecSQL;
应该是:
adoconnection.open;
adoconnection.exec('backup database 数据库名称 to disk=''c:\数据库名称.dat''');
http://www.kaer.com.cn/default.aspx
下载区中有,其他问题:
[email protected]
在SQL中,没有先创建设备是不能进行数据库备份的。