Jump to content

Express 2008 mehrere Datenbanken sichern


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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

Link zu diesem Kommentar

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

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...