DECLARE @name VARCHAR(50)		-- database name  
DECLARE @path VARCHAR(256)		-- path for backup files  
DECLARE @fileName VARCHAR(256)	-- filename for backup  
DECLARE @fileDate VARCHAR(20)	-- used for file name
 
---- To run the file export in this procedure, it is n to reconfigure the sql server
--sp_configure 'show advanced options', 1;
--GO
--RECONFIGURE WITH OVERRIDE;
--GO
--sp_configure 'Ole Automation Procedures', 1;
--GO
--RECONFIGURE WITH OVERRIDE;
--GO
--EXEC sp_configure 'xp_cmdshell', 1
--GO
--RECONFIGURE WITH OVERRIDE
--GO

-- specify database backup directory
SET @path = 'F:\Sicherung'  
 
-- specify filename format
SELECT @path = @path + '\' + CONVERT(VARCHAR(20),GETDATE(),112) + '\'
EXECUTE master.dbo.xp_create_subdir @path

DECLARE db_cursor CURSOR READ_ONLY FOR  
SELECT name 
FROM master.sys.databases 
WHERE name NOT IN ('master','model','msdb','tempdb')	-- exclude these databases
AND state = 0											-- database is online
AND is_in_standby = 0									-- database is not read only for log shipping
 
OPEN db_cursor   
FETCH NEXT FROM db_cursor INTO @name   
 
WHILE @@FETCH_STATUS = 0   
BEGIN   
   SET @fileName = @path + @name + '.BAK' 

   BACKUP DATABASE @name TO DISK = @fileName 
   WITH FORMAT, COMPRESSION, CHECKSUM;
 
   FETCH NEXT FROM db_cursor INTO @name   
END   
 
CLOSE db_cursor   
DEALLOCATE db_cursor