Forum: PC Hard- und Software MS SQL-Server auf Dateiebene sichern


von Stefan . (xin)


Lesenswert?

Hallo (-;

wir haben uns leider durch einen offenen RDP-Port etwas eingefangen. 
Daher läuft das zurückgespielte Backup des Windows-Servers (2012) im 
Moment im abgesicherten Modus (mit Netzwerktreibern). Der MS-SQL musste 
leider sein, da eine für uns essentielle Software nur damit umgehen 
konnte ...

Nun meine Frage: kann ich die Datenbaken auf Dateiebene sichern und 
einem neu aufgesetzten Server irgendwie unterschieben. Wenn ja, wie gehe 
ich vor ?

P.S. Bitte kein Windows-Bashing. Wir haben ca. 2/3 der Firma auf Ubuntu 
umgestellt, aber in einigen Bereichen ist das einfach nicht möglich.


Lieben Dank !

Stefan

---

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Ja, das hat zumindest früher funktioniert. Weil MySQL 
plattformunabhängig programmiert ist, befindet sich alles, was 
dazugehört, in dem einen Ordner MySQL (data, bin ... usw.). Du kannst 
den gesamten Ordner von einer Maschine auf die andere kopieren und musst 
dann nur den Dienst bzw. die EXE manuell starten (ich glaub' die hieß 
mysqld.exe o.ä.).

Läuft die DB Engine erst einmal, kannst du z.B. mit MySQLDump oder einem 
anderen Tool ein "sauberes" Image sichern.

Der simple Austausch des "data"-Ordners mit einer anderen bzw. neuen 
Installation klappt auch (fast) immer, sogar zwischen verschiedenen 
Plattformen (z.B. Win -> Mac).

Für solche Tests ist es u.U. ganz praktisch, mal eben schnell eine VM 
aufzusetzen, bevor man an einem "richtigen" Rechner herummacht (z.B. 
VirtualBox).

Nachtrag: MySQL benötigt evtl. für das Sichern mit MysqlDump gar kein 
Netzwerk (kommuniziert über DLL-Schnittstelle o.ä.) ... d.h. es könnte 
auch auf der alten Maschine noch funktioneren. Nur die DB-Engine muss 
laufen.

: Bearbeitet durch User
von Bernd K. (prof7bit)


Lesenswert?

Frank E. schrieb:
> Weil MySQL

Microsoft SQL, nicht MySQL!

von (prx) A. K. (prx)


Lesenswert?

Der MS SQL Server klinkt sich in des Systemmechanismus für konsistente 
Snapshots ein. Backupverfahren die diesen Mechanismus ebenfalls nutzen, 
sichern dann einen sauberen Snapshot der Datenbank. Manche Verfahren für 
Imagebackups tun dies, ebenfalls manche Verfahren für Sicherung 
virtueller Maschinen.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Bernd K. schrieb:
> Frank E. schrieb:
>> Weil MySQL
>
> Microsoft SQL, nicht MySQL!

Ups ... ja dann ist das deutlich komplizierter und ich habe keine Ahnung 
davon. Sorry.

von Mario (Gast)


Lesenswert?

Läuft die Datenbank noch? Dann mach halt ein Backup über SQL.

von c-hater (Gast)


Lesenswert?

Stefan . schrieb:

> Nun meine Frage: kann ich die Datenbaken auf Dateiebene sichern und
> einem neu aufgesetzten Server irgendwie unterschieben.

Ja, das ist kein Problem. Zumindest, wenn die Version des 
Zielservers>=der des Quellservers ist.

> Wenn ja, wie gehe
> ich vor ?

Du stoppst den Dienst auf dem Quellserver, kopierst die Datenbankdatei 
auf die passende Stelle den Zielserver, passt ggf. die Dateisystemrechte 
an und benutzt dann die entsprechende Funktion des SSMS, um diese Datei 
zu "importieren".

Datenbanken->Rechtsklick->Anfügen...

von Frank K. (fchk)


Lesenswert?


von Stefan . (xin)


Lesenswert?

Mario schrieb:
> Läuft die Datenbank noch? Dann mach halt ein Backup über SQL.

Der Server läuft im abgesicherten Modus - daher läuft der SQL-Server 
nicht.

In diesem Backup wurden keine Dateien verschlüsselt. Da ich aber nicht 
weiß, ob das Backup ggf. bereits kompromitiert wurde, möchte ich den 
Server ungern normal starten.

Werde später, ggf. erst morgen mal den Vorschlag von 'c-hater' 
ausprobieren. Alternativ dazu baue ich mal die virtuelle Netzwerkkarte 
aus und starte den Server ganz normal. Dann sollte ich über die 
SQL-Konsole ein lokales Backup ziehen können. Dann wieder abgesichert 
starten und das Backup verschieben.

Danke Euch für Hinweise und Inspiration !

Beitrag #5928730 wurde vom Autor gelöscht.
Beitrag #5928734 wurde vom Autor gelöscht.
von Icke ®. (49636b65)


Lesenswert?

c-hater schrieb:
> Du stoppst den Dienst auf dem Quellserver, kopierst die Datenbankdatei
> auf die passende Stelle den Zielserver, passt ggf. die Dateisystemrechte
> an und benutzt dann die entsprechende Funktion des SSMS, um diese Datei
> zu "importieren".
>
> Datenbanken->Rechtsklick->Anfügen...

Ganz so einfach ist es leider nicht. Du hast dann zwar die Datenbank 
eingebunden, es wird jedoch Probleme beim Zugriff geben, weil die in der 
Datenbank angelegten Benutzer nicht automatisch mit dem System 
abgeglichen werden. Ein Datenbankbenutzer muß auch als Benutzer im 
MSSQL-System vorhanden sein. Wenn die Datenbank in der gleichen Instanz 
angefügt wird, von der sie getrennt wurde, ist der Benutzer noch 
vorhanden. Nicht so in einer Neuinstallation, dort müssen die 
Datenbankbenutzer erst im (SQL-)System angelegt werden, was die Kenntnis 
der Namen und Kennwörter erfordert. Das kann manchmal schwierig werden, 
wenn bspw. die Datenbank von einer Branchensoftware stammt, deren 
Hersteller die Kennwörter nicht rausrückt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.