MSSQL: Unterschied zwischen den Versionen
Aus MeinWiki
(Die Seite wurde neu angelegt: „ == MSSQL == === Backupscript (Procedure) === ALTER PROCEDURE BackupDatabase AS DECLARE @name VARCHAR(256) -- database name DECL…“) |
(→Backupscript (Procedure)) |
||
| Zeile 33: | Zeile 33: | ||
IF @recovery_model_desc = 'FULL' | IF @recovery_model_desc = 'FULL' | ||
BEGIN | BEGIN | ||
| − | + | SET @fileName = @path + @name + '_' + @fileDate + '.LOG' | |
| − | + | BACKUP LOG @name TO DISK = @fileName | |
END | END | ||
FETCH NEXT FROM db_cursor INTO @name | FETCH NEXT FROM db_cursor INTO @name | ||
Version vom 23. August 2014, 20:56 Uhr
MSSQL
Backupscript (Procedure)
ALTER PROCEDURE BackupDatabase
AS
DECLARE @name VARCHAR(256) -- 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
DECLARE @recovery_model_desc VARCHAR(50) -- check recovery model
-- specify database backup directory
SET @path = '\\ssta-netap5.paricorp.net\BackupMSSQL2\I0\'
-- specify filename format
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)
DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT IN ('tempdb') -- exclude these databases
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
BACKUP DATABASE @name TO DISK = @fileName
SELECT @recovery_model_desc = recovery_model_desc FROM sys.databases WHERE name = @name
IF @recovery_model_desc = 'FULL'
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.LOG'
BACKUP LOG @name TO DISK = @fileName
END
FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor