备份整个 MyNwind 数据库 说明 MyNwind 数据库仅用于演示。 下例创建用于存放 MyNwind 数据库完整备份的逻辑备份设备。-- Create a logical backup device for the full MyNwind backup. USE master EXEC sp_addumpdevice 'disk', 'MyNwind_1', 'c:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\MyNwind_1.dat'-- Back up the full MyNwind database. BACKUP DATABASE MyNwind TO MyNwind_1
但是其中的disk 系统说不认呀,这是怎么回事呀??
CREATE PROCEDURE BackUPHisDatabase ( @usedbname varchar(40),@setfolder varchar(40) ) AS begindeclare @curr_datetime char(14), @dbname varchar(40) set @curr_datetime =convert(char(6),getdate(),12)+substring(convert(char(8),getdate(),8),1,2) +substring(convert(char(8),getdate(),8),4,2) +substring(convert(char(8),getdate(),8),7,2) SET @dbname=@usedbname+'_'+@curr_datetime SET @setfolder=@setfolder+@dbname EXEC sp_addumpdevice 'disk', @dbname ,@setfolder BACKUP database @usedbname to @dbname EXEC sp_dropdevice @dbnameend这是一个根据参数备份指定数据库的存储过程,看看吧……
这是过程是在sql中生成还是在delphi中生成呀,怎么调用他呀,多谢 了真的急 用呀
这是在delphi中用代码实现 procedure TFmainform.N42Click(Sender: TObject); var filstr:string; begin if messagedlg('是否执行数据库备份!!',mtconfirmation,[mbyes,mbno],0)=mryes then begin if savedialog1.Execute then filstr:=savedialog1.FileName ; try with jyd.adoquery1 do begin close; sql.clear; sql.text:=format('backup database jydfc to disk=''%s'' with init',[filstr]); execsql; end; except on exception do if jyd.ADOConnection1.InTransaction then jyd.ADOConnection1.RollbackTrans end; end; end;
备份 : BACKUP DATABASE databasename TO DISK = d:\mmaster.bak 恢复 : RESTORE DATABASE mydase FROM DISK ='D:\mmaster.bak' 不要再说是女孩了 :)
TO < backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
说明 MyNwind 数据库仅用于演示。
下例创建用于存放 MyNwind 数据库完整备份的逻辑备份设备。-- Create a logical backup device for the full MyNwind backup.
USE master
EXEC sp_addumpdevice 'disk', 'MyNwind_1', 'c:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\MyNwind_1.dat'-- Back up the full MyNwind database.
BACKUP DATABASE MyNwind TO MyNwind_1
(
@usedbname varchar(40),@setfolder varchar(40)
)
AS
begindeclare @curr_datetime char(14),
@dbname varchar(40)
set @curr_datetime =convert(char(6),getdate(),12)+substring(convert(char(8),getdate(),8),1,2)
+substring(convert(char(8),getdate(),8),4,2)
+substring(convert(char(8),getdate(),8),7,2)
SET @dbname=@usedbname+'_'+@curr_datetime
SET @setfolder=@setfolder+@dbname EXEC sp_addumpdevice 'disk', @dbname ,@setfolder
BACKUP database @usedbname to @dbname EXEC sp_dropdevice @dbnameend这是一个根据参数备份指定数据库的存储过程,看看吧……
procedure TFmainform.N42Click(Sender: TObject);
var
filstr:string;
begin
if messagedlg('是否执行数据库备份!!',mtconfirmation,[mbyes,mbno],0)=mryes then
begin
if savedialog1.Execute then
filstr:=savedialog1.FileName ;
try
with jyd.adoquery1 do
begin
close;
sql.clear;
sql.text:=format('backup database jydfc to disk=''%s'' with init',[filstr]);
execsql;
end;
except
on exception do
if jyd.ADOConnection1.InTransaction then
jyd.ADOConnection1.RollbackTrans
end;
end;
end;
BACKUP DATABASE databasename TO DISK = d:\mmaster.bak
恢复 :
RESTORE DATABASE mydase FROM DISK ='D:\mmaster.bak'
不要再说是女孩了 :)