复制代码 代码如下: use master declare @DbName varchar(60) declare @BackSql varchar(1000) declare myCursor cursor for SELECT [name] FROM SYSDATABASES where [name] not in ("master","model","msdb","tempdb") order by [name] open myCursor fetch next from myCursor into @DbName while(@@FETCH_STATUS = 0) begin if datename(weekday, getdate())="星期三" --每周三覆盖上周三的 begin select @BackSql="Backup DATABASE ["+@DbName+"] to disk=""E:DbBackUp"+@DbName+"星期三.bak"" with format" end else--每天覆盖上一天的 begin select @BackSql="Backup DATABASE ["+@DbName+"] to disk=""E:DbBackUp"+@DbName+"AutoBack.bak"" with format" end exec(@BackSql) fetch next from myCursor into @DbName end close myCursor DEALLOCATE myCursor