二个备份sql server数据库的脚本
本文导语: 要求:备份sql server数据,生成的备份文件格式为:backup日期.bak文件,日期取当前日期,用存储过程实现。 本文提供两个脚本供大家学习参考。 脚本一 代码如下: use master go if object_id('sp_restoreDB') is not null drop proc sp_restor...
要求:备份sql server数据,生成的备份文件格式为:backup日期.bak文件,日期取当前日期,用存储过程实现。
本文提供两个脚本供大家学习参考。
脚本一
use master
go
if object_id('sp_restoreDB') is not null
drop proc sp_restoreDB
go
/*备份数据库的存储过程*/
create proc sp_restoreDB(
@DBName sysname,--数据库名
@RestoreFiles nvarchar(1000)--路径如:c:
)
as
declare @S nvarchar(4000),@BackName nvarchar(200)
set @BackName='backup'+convert(varchar(8),getdate(),112)+'.bak'
set @S='BACKUP DATABASE ['+@DBName+'] TO DISK = N'''+@RestoreFiles+@BackName+''' WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD, STATS = 10'
exec(@S)
脚本二
if exists(
select * from sysobjects
where name=pr_backup_db and xtype=p
)
begin
drop proc pr_backup_db
end
go
/*备份数据库*/
create proc pr_backup_db
@flag varchar(10) out,
@backup_db_name varchar(128),
@filename varchar(1000) --路径+文件名字
as
declare @sql nvarchar(4000),@par nvarchar(1000)
select @par=@filename varchar(1000)
select @sql=backup database +@backup_db_name+ to disk=@filename with init
execute sp_executesql @sql,@par,@filename
select @flag=ok
go