SQL SERVER 数据库备份代码实例
本文实例为大家分享SQLSERVER数据库备份的具体代码,供大家参考,具体内容如下
/** 批量循环备份用户数据库,做为数据库迁移临时用 */ SETNOCOUNTON DECLARE@dvarchar(8) DECLARE@Backup_FlagNVARCHAR(10) SET@d=convert(varchar(8),getdate(),112) /***自定义选择备份哪些数据库****/ --SET@Backup_Flag='UserDB'--所用的用户数据库 SET@Backup_Flag='AlwaysOnDB'--AlwaysOn用户数据库 CREATETABLE#T(IDINTNOTNULLIDENTITY(1,1),SQLBakNVARCHAR(MAX)NOTNULL) IF@Backup_Flag='UserDB' BEGIN INSERTINTO#T(SQLBak) SELECT 'BACKUPDATABASE['+name+']TODISK=''E:\Backup\'+NAME+'_Full_'+@d+'.bak''WITHCHECKSUM,NOFORMAT,INIT,SKIP,COMPRESSION'AS'SQLBak' FROMsys.databases WHEREdatabase_id>4 END IF@Backup_Flag='AlwaysOnDB' BEGIN INSERTINTO#T(SQLBak) SELECT 'BACKUPDATABASE['+database_name+']TODISK=''E:\Backup\'+database_name+'_Full_'+@d+'.bak''WITHCHECKSUM,NOFORMAT,INIT,SKIP,COMPRESSION'AS'SQLBak' FROMsys.availability_databases_cluster END DECLARE @MinidINT, @MaxidINT, @sqlVARCHAR(max) SELECT@Minid=MIN(id), @Maxid=MAX(id) FROM#T PRINTN'--打印备份脚本..........' WHILE@Minid<=@Maxid BEGIN SELECT@sql=SQLBak FROM#T WHEREid=@Minid ----exec(@sql) PRINT(@sql) SET@Minid=@Minid+1 END DROPTABLE#T
以上所述是小编给大家介绍的SQLSERVER数据库备份详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!