var
i:string;
begin
i:=snedit1.Text;
opendialog1.FileName:=i;
self.Caption:= '正在备份数据....';
adoquery1.SQL.Clear;
self.ADOQuery1.SQL.Text:='backup database [食品] to disk = ' + '''' + opendialog1.FileName + '''';
self.ADOQuery1.ExecSQL;
self.Caption :='';
if messagedlg('备份成功!',mtConfirmation,[mbYes,mbNo],0)= mrYes then
i:string;
begin
i:=snedit1.Text;
opendialog1.FileName:=i;
self.Caption:= '正在备份数据....';
adoquery1.SQL.Clear;
self.ADOQuery1.SQL.Text:='backup database [食品] to disk = ' + '''' + opendialog1.FileName + '''';
self.ADOQuery1.ExecSQL;
self.Caption :='';
if messagedlg('备份成功!',mtConfirmation,[mbYes,mbNo],0)= mrYes then
create proc
@BackName varchar(50)
as
Declare @BackAllName varchar(100),@BackDeviceName varchar(100)
set @BackAllName=@backName
set @BackDeviceName=@backName+'_Full'
exec sp_addumpDevice 'disk',@BackDeviceName,@BackAllName
backup database DWeightToll to @BackDeviceName with init
GO
我试过了,备份后还原没有问题