二个备份sql server数据库的脚本

发布时间:2020-07-30编辑:脚本学堂
sql server 备份脚本

要求:备份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