- 先在实例下执行:
USE [master]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [ BackupDatabase ] ( @FolderPath varchar ( 500 ))
as
DECLARE @FullPath varchar ( 1000 )
DECLARE @dbname varchar(100)
DECLARE C_Backup CURSOR FAST_FORWARD FOR
select name from sys.databases where name not in ('master','tempdb','model','msdb')
OPEN C_Backup;
FETCH NEXT FROM C_Backup INTO @dbname;
WHILE @@FETCH_STATUS=0
BEGIN
set @FullPath = @FolderPath + @dbname + '_' +
replace(substring( convert (varchar(20),getdate(),120),1,20),':','-') + '.bak '
backup database @dbname to disk = @FullPath WITH STATS = 20
FETCH NEXT FROM C_Backup INTO @dbname;
END
CLOSE C_Backup;
DEALLOCATE C_Backup;
2.将下面的T-sql存放到job步骤中
exec master.[dbo].[ BackupDatabase ] 'E:\dbbak\'