Jump to content
Sign in to follow this  
diehappy

Express 2008 mehrere Datenbanken sichern

Recommended Posts

Hallo Zusammen,

 

ich hab folgendes Problem:

 

Ich muss alle Datenbanken im SQL Express 2008 sichern.

 

Bei einer hab ich das hinbekommen:

Quelle: faq-o-matic.net Automatische Backups fr SQL Server Express

 

Batsch mit:

 

@echo off

rem Ausführen eines Full Backup der MeineDB-Datenbank

rem !! das Folgende ist eine einzige Zeile!

"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE" -E -S USER3-HP\SQLEXPRESS -i C:\cmd\SQL-Cobra2010-Montag.sql

rem !! ab hier wieder normal

 

rem Zeitstempel erzeugen

for /f "tokens=1-4 delims=. " %%i in ("%date%") do (

set day=%%i

set month=%%j

set year=%%k

)

 

for /f "tokens=1-4 delims=.:, " %%i in ("%time%") do (

set hour=%%i

set minute=%%j

set second=%%k

set hundredth=%%l

)

 

rem Log-Datei mit Zeitstempel umbenennen

ren C:\Backup\BackupLog.txt FullBackup-%year%-%month%-%day%-%hour%-%minute%.txt

 

SQLQuery1.sql

 

BACKUP DATABASE [Cobra_Main] TO DISK = N'C:\Cobra SQL Datenbank\Montag\Cobra_Main_Montag' WITH NOFORMAT, NOINIT, NAME = N'Cobra_Main-Vollständig Datenbank Sichern', SKIP, NOREWIND, NOUNLOAD, STATS = 10

GO

 

Kann ich angeben, das alle gesichert werden sollen - Im Standard SQL Serrver ist das ja einfach.

 

Grüße Olaf

Share this post


Link to post

Du musst um das Backup Database eine Schleife bauen, welche alle (gewünschten) Datenbanken zurückgibt.

 

z.B.:

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

SET @path = 'H:\DB\' 

SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)

DECLARE db_cursor CURSOR FOR 
SELECT name 
FROM master.dbo.sysdatabases 
WHERE name NOT IN ('tempdb') 

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 

      FETCH NEXT FROM db_cursor INTO @name  
END  

CLOSE db_cursor  
DEALLOCATE db_cursor

Share this post


Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...