SQL SERVER 数据库备份代码实例
程序员文章站
2023-12-06 13:09:52
本文实例为大家分享sql server数据库备份的具体代码,供大家参考,具体内容如下
/**
批量循环备份用户数据库,做为数据库迁移临时用
*/...
本文实例为大家分享sql server数据库备份的具体代码,供大家参考,具体内容如下
/** 批量循环备份用户数据库,做为数据库迁移临时用 */ set nocount on declare @d varchar(8) declare @backup_flag nvarchar(10) set @d=convert(varchar(8),getdate(),112) /***自定义选择备份哪些数据库****/ --set @backup_flag='userdb' -- 所用的用户数据库 set @backup_flag='alwaysondb' -- alwayson 用户数据库 create table #t (id int not null identity(1,1),sqlbak nvarchar(max) not null) if @backup_flag='userdb' begin insert into #t (sqlbak) select 'backup database [' + name + '] to disk=''e:\backup\' + name + '_full_'+@d+'.bak'' with checksum,noformat,init,skip,compression' as 'sqlbak' from sys.databases where database_id>4 end if @backup_flag='alwaysondb' begin insert into #t (sqlbak) select 'backup database [' + database_name + '] to disk=''e:\backup\' + database_name + '_full_'+@d+'.bak'' with checksum,noformat,init,skip,compression' as 'sqlbak' from sys.availability_databases_cluster end declare @minid int , @maxid int , @sql varchar(max) select @minid = min(id) , @maxid = max(id) from #t print n'--打印备份脚本..........' while @minid <= @maxid begin select @sql = sqlbak from #t where id = @minid ----exec (@sql) print ( @sql ) set @minid = @minid + 1 end drop table #t
以上所述是小编给大家介绍的sql server数据库备份详解整合,希望对大家有所帮助