48 lines
1.3 KiB
Transact-SQL
48 lines
1.3 KiB
Transact-SQL
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 |