bsg2000
Goto Top

MSSQL DB Dump (Backup) erzeugen

Erzeugung eines Datenbank Backups mittel ASP.NET Script

Dear Community...

Ich habe heute die Aufgabe bekommen, von einem externen IIS Server eine MSSQL Datenbank zu sichern. Diese soll dann im Laufe der Woche auf den firmeneigenen Server wieder eingespielt werden. Leider habe ich keinen root Zugriff und somit nur die Möglichkeit die Sicherung durch Auslesen mittels ASP/C# durchzuführen. Es ist auch kein MSSQL Admin oder Ähnliches vorhanden.

- Gibt es evtl. eine elegantere Möglichkeit? (Nagut, ich könnte den Hoster anrufen und dafür bezahlen... face-wink )
- Kennt, bzw. hat jemand ein fertiges Script?
- Wo finde ich hilfreiche Informationen zu dem Thema?

Leider habe ich noch nicht genügend Erfahrung im ASP Bereich um ebend schnell mal ein eigenes Script zu schreiben. Auch gibt es hier im Forum nicht viele Beiträge zu dem Thema. Über Anregung und hilfreiche Tips würde ich mich somit freuen.

Gruß Thomas

Content-Key: 68903

Url: https://administrator.de/contentid/68903

Ausgedruckt am: 29.03.2024 um 12:03 Uhr

Mitglied: SlainteMhath
SlainteMhath 18.09.2007 um 14:09:00 Uhr
Goto Top
(Nur mal so ins Blaue geschossen, keine Ahnung ob das so in einer Hosting-Umgebung funktionieren kann)

Du könntest in C# per ExecuteNonQuery ein backup der DB in einen Datei innerhalb deines Webspaces machen:

T-SQL:
BACKUP DATABASE <meine_datenbank> 
TO DISK = 'LW:\PFAD\INNERHALB\DES\WEBSPACES\DB.bak'   
WITH NOINIT

C# Beispielcode: http://msdn2.microsoft.com/en-us/library/system.data.oledb.oledbcommand ...
Mitglied: BSG2000
BSG2000 27.09.2007 um 11:25:47 Uhr
Goto Top
Danke für den Tip, funktioniert soweit auch erstmal. face-smile

Nun würde ich dies gerne per Script automatisieren. Hab da an ein BatchScript gedacht das regelmäßig per Taskplaner ausgeführt wird.
Die Sicherung wollte ich per SQLCMD erledigen. Leider war dieses Tool auf dem Server nicht vorinstalliert so dass ich eine lokale Kopie eingespielt habe. Nun habe ich das Problem das Script auf dem Server nicht ausühren zu können. Irgendwie scheint er nicht zu connecten.
Probiere ich es von meinen Firmenrechner aus, so funktioniert es (per SQLCMD).

@echo off
echo # Verbinde mit Datenbank...
[Pfad]SQLCMD.EXE -S 127.0.0.1 -U sa -P ******** -i backup_dbs.sql

Von einem ext. Rechner führe ich dann folg. Code aus:
@echo off
echo # Verbinde mit Datenbank...
[Pfad]SQLCMD.EXE -S mssql.XXX.de -U sa -P ******** -i backup_dbs.sql
XXX --> Domaine

In der backup_dbs.sql ist der T-SQL Query zur Sicherung der 2 DBs enthalten:
backup Database providerDB
to disk = '[Pfad]\Sicherung_providerDB.bak'  
backup Database mssql3001071
to disk = '[Pfad]\Sicherung_mssql3001071.bak'  

Irgendwelche Ideen? Weiß im Moment nicht weiter. Wenn jemand ein besseres Tool zum Ausführen von SQL auf Shell Ebene kennt, so bin ich dafür auch offen. face-wink
Mitglied: doribell
doribell 19.09.2008 um 16:14:23 Uhr
Goto Top
moin, du könntest es evtl. einfach mit einem php script realisieren. dieses dann per browser mit einem batch script ausführen lassen und wieder beenden.

mfg Jens N.