SQLserver2008创建数据库SQL脚本备份语句
发布时间:2020-12-12 12:48:45 所属栏目:MsSql教程 来源:网络整理
导读:create table #backDB(name varchar(20))insert into #backDB(name)values('Member') --创建一条语句表示需要备份的数据库declare @name varchar(20)set @name=''select top 1 @name=name from #backDBwhile(ISNULL(@name,'')'')begindeclare @filename varc
create table #backDB(name varchar(20)) insert into #backDB(name)values('Member') --创建一条语句表示需要备份的数据库 declare @name varchar(20) set @name='' select top 1 @name=name from #backDB while(ISNULL(@name,'')<>'') begin declare @filename varchar(1024) declare @path varchar(1024) set @path = N'D:ServerDBfileBackup'+@name+''; --需要文件备份存储的物理路径 路径需要存在否则执行报错 declare @extension_name varchar(16) set @extension_name = N'bak'; set @filename = convert(varchar(1024),getdate(),120) set @filename = replace(@filename,':','') set @filename = replace(@filename,'-',' ','') set @filename = @filename + '_' + convert (varchar(3),datepart(ms,getdate())) + N'.' + @extension_name -- 得到完整目标文件,数据库将备份到这个中 set @filename = @path + @filename -- select @filename declare @backname varchar(100) set @backname=N''+@name+'-完整 数据库 备份' -- 开始备份,MYDB 是需要备份的数据库,COMPRESSION 参数表示压缩,可节省磁盘空间 backup database @name to disk =@filename with noformat,noinit,name = @backname,skip,norewind,nounload,stats = 10,COMPRESSION -- 删除30天前的备份文件 declare @olddate datetime select @olddate=getdate()-30 -- 执行删除 (SQL 2008 具备) execute master.dbo.xp_delete_file 0,@path,@extension_name,@olddate,1 delete from #backDB where name=@name set @name='' select top 1 @name=name from #backDB end drop table #backDB (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |