coltseavers
Goto Top

Restore bei einer Microsoft SQL Server Desktop Engine

Hallo zusammen,

ich habe folgendes Problem mit einer Microsoft SQL Server Desktop Engine:

Ich habe durch einen dummen Fehler alle Daten verloren, mit Ausnahme der .mdf-Datei.

Damit muss ich nun auf einem neu installiertem PC versuchen die Datenbank wieder ans Laufen zu kriegen (Win XP).
Da ich jedoch so gar keine Ahnung von Microsoft SQL-Datenbanken habe, weiss ich nicht, wie ich das anstellen soll.

Ich habe schon in Foren gelesen, dass es möglich sein soll, eine neue, gleichnamige Datenbank anzulegen, diese dann runterzufahren, das neue .mdf-file durch das alte zu ersetzen, und dann an dem System ein wenig rumzufrickeln, damit dieses die Datenbank-Datei akzeptiert, wieder einbindet und eine neue .ldf-Datei erzeugt.

Da ich, wie gesagt, keine Ahnung von den MS-SQL-DBs habe, hab ich das aber bisher in den Foren nicht verstanden, zumal das alles recht bruchstückhaft war, und sich oft auf eine richtige DB bezogen hat, wo es entsprechende Eingabe-Möglichkeiten gab, die es bei so ner Desktop-Engine nicht gibt.

Kann mir jemand bitte einigermassen ausführlich erklären (also für Dummies), wie man mit so ner Desktop-Engine eine solche .mdf-Datei wieder einbinden kann?
Welche Eingaben sind genau zu tätigen?
Und wie/über welches Interface nehme ich die Eingaben vor?

Wäre echt dankbar für eine ausführliche Anleitung!

Vielen Dank vorab!

Gruß,
Colt

Content-Key: 158075

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

Printed on: April 25, 2024 at 12:04 o'clock

Member: maretz
maretz Jan 06, 2011 at 07:02:53 (UTC)
Goto Top
Moin,

genau DAS werde ich dir zu deinem eigenen Schutz nicht gehben. Du solltest diesen Rechner jetzt nehmen, jemanden geben der sich damit auskennt und DEN das machen lassen! Denn ansonsten zerlegst du nur noch mehr - und davon hat keiner was. Selbst wenn du die DB eingebunden bekommst - dann kannst du immernoch nicht sicher sein das du wirklich nen konsistenten Zustand hast - und ggf. holst du dir noch viel mehr Probleme ins Haus als du jetzt schon hast...

Sorry - aber wenn man eine DB schon aus unwissenheit zerschiesst dann ist das ja nicht schlimm. Kann passieren. Wenn man dann noch nicht mal nen Backup hat - ist schon fahrlässig, darf eigentlich nicht passieren! Aber dann noch ohne Wissen versuchen an der DB rumzudrehen damit man irgendwie (irgendwo & irgendwann - frei nach Nena) irgendwas wiederherstellt -> das funktioniert nicht!

Solltest du dennoch Frickellösungen suchen dann würde ich dir google empfehlen - denn DAS ist nichts was du in einem Forum für prof. Admins finden wirst...
Member: coltseavers
coltseavers Jan 06, 2011 at 09:11:56 (UTC)
Goto Top
*lach*

danke papa, aber ich glaub ich weiss selbst, was ich verantworten kann und was nicht.
auf so klug###erantworten kann ich nun wirklich verzichten - die zeit hättest du dir sparen können.
ausserdem kenne ich niemanden, der das dingen reparieren kann.

hättest du meinen beitrag richtig gelesen, habe ich bereits bei google frickellösungen gefunden, die mir nicht geholfen haben, deshalb poste ich nun hier im forum, in der hoffnung eine qualifizierte antwort zu bekommen.

ich wäre also weiterhin für eine LÖSUNG dankbar.

vielen Dank!
Member: Logan000
Logan000 Jan 06, 2011 at 09:14:08 (UTC)
Goto Top
Moin moin

Kann mir jemand bitte einigermassen ausführlich erklären (also für Dummies), wie man mit so ner Desktop-Engine eine solche .mdf-Datei wieder einbinden kann?
Welche Eingaben sind genau zu tätigen?
Und wie/über welches Interface nehme ich die Eingaben vor?
Wäre echt dankbar für eine ausführliche Anleitung!

Ausführlich ist ein gutes Stichwort.
Du soltest bei Problembeschreibungen gerne mal ne Version angeben.
Was Ausführhrliche Anleitungen angeht ist die SQL Server Hilfe eine die Ihren namen auch verdient
Und ich bin kein Freund vom Abschreiben: http://msdn.microsoft.com/de-de/library/ms165706%28v=SQL.90%29.aspx

@maretz
denn DAS ist nichts was du in einem Forum für prof. Admins finden wirst...
Liest du im gleichen Forum wie ich?
face-wink

Gruß L.
Member: maretz
maretz Jan 06, 2011 at 09:20:11 (UTC)
Goto Top
Diese Personen gibt es im Telefonbuch zu finden - unter "Systemhaus" z.B.

Aber gut - weisst du was das schöne ist: MEIN Problem ist es nicht. MEINE Datenbank läuft - und ICH könnte die auch reparieren. Aber probiere ruhig weiter aus ...
Member: goscho
goscho Jan 06, 2011 at 11:08:39 (UTC)
Goto Top
Mahlzeit,

@coltseavers (ja, ja, Stuntman ohne Absicherung) face-big-smile
es gibt von MS für die MSDE keine Management-Konsole. Hier ist eigentlich OSQL angesagt.
Du kannst aber das Management Studio Express der Nachfolgeversion (SQL Server Express Edition) benutzen. Dieses ist kostenlos und kann auch mit Datenbanken aus älteren SQL-Server-Versionen umgehen.

Ähnlich sieht es mit den Vollversionen des SQL-Servers aus. Wenn du den SQL-Server 2000 hättest und damit arbeiten könntest, gäbe es einen Enterprise Manager zum angenehmen Bearbeiten.
In den Versionen 2005 und 2008 heißt dieses Tool Management Studio.
Das kann man aber nur jemanden empfehlen, der schon Erfahrungen mit SQL-Server-Datenbanken hat.
Man kann versuchen, MDF-Dateien wieder anzuhängen, was aber nicht immer problemlos klappt, noch seltener ohne LDF-Datei.

Kann mir jemand bitte einigermassen ausführlich erklären (also für Dummies), wie man mit so ner Desktop-Engine eine solche .mdf-Datei wieder einbinden kann?
Dies deutet aber sehr darauf hin, dass du dir professionelle Hilfe suchen solltest.

@maretz,
Solltest du dennoch Frickellösungen suchen dann würde ich dir google empfehlen - denn DAS ist nichts was du in einem Forum für prof. Admins finden wirst...
Ich glaube nicht, dass hier nur prof. Admins sind, bei manchen glaube ich nicht einmal, dass sie auf dem Weg dahin sind. face-smile

@logan,
die Version hat er quasi mit dem Namen angegeben (MSDE). face-wink
Ob er mit unseren Tipps das Problem allein gelöst bekommt, ist eher zweifelhaft.
Member: maretz
maretz Jan 06, 2011 at 11:36:58 (UTC)
Goto Top
Moin,

ok, das mit den professionellen Admins ist ggf. übertrieben gewesen - bei einigen Fragestellungen sag ich auch mal das es eher "Bodenständig" zugeht.

Aber nichtsdestotrotz würde ich nem Kind keine geladene Waffe in die Hand geben - und das hier ist m.E. nichts anderes. An einer Datenbank sollten keine Leute rumtoben die das nicht kennen -> das Ergebnis ist leider oft genug fatal! Und kurz später kommen dann Aussagen wie: Nu hab ich alles zerlegt o.ä.

Was passiert denn wenn man die DB einhängt und das dann 3 Tage läuft. Nach 3 Tagen schmiert das System ab - und man hat richtig Spass: Man hat nen alten Datenbestand und keiner weiss mehr was bereits im System ist und was noch rein muss...
Member: goscho
goscho Jan 06, 2011 at 13:45:58 (UTC)
Goto Top
Zitat von @maretz:
Moin,

ok, das mit den professionellen Admins ist ggf. übertrieben gewesen - bei einigen Fragestellungen sag ich auch mal das es
eher "Bodenständig" zugeht.
"Bodenständig" ist ein schöner Ausdruck. face-smile
Aber nichtsdestotrotz würde ich nem Kind keine geladene Waffe in die Hand geben - und das hier ist m.E. nichts anderes. An
einer Datenbank sollten keine Leute rumtoben die das nicht kennen -> das Ergebnis ist leider oft genug fatal! Und kurz
später kommen dann Aussagen wie: Nu hab ich alles zerlegt o.ä.
Den Fall haben wir ja bei coltseavers schon:
Ich habe durch einen dummen Fehler alle Daten verloren, mit Ausnahme der .mdf-Datei.
Daher wird nicht mehr viel kaputt zu machen sein, wenn er diese vorhandene MDF-Datei auf einen anderen PC kopiert und dort versucht, diese in den dortigen SQL-Server zu bekommen, oder etwa doch?
Was passiert denn wenn man die DB einhängt und das dann 3 Tage läuft. Nach 3 Tagen schmiert das System ab - und man hat
richtig Spass: Man hat nen alten Datenbestand und keiner weiss mehr was bereits im System ist und was noch rein muss...
Das wird wohl nicht schlimmer sein, als es jetzt schon ist.
Member: Logan000
Logan000 Jan 06, 2011 at 14:33:56 (UTC)
Goto Top
Moin

@logan,
die Version hat er quasi mit dem Namen angegeben (MSDE). face-wink
Ja ja < 2k5. Soweit war ich auch.
Ob er mit unseren Tipps das Problem allein gelöst bekommt, ist eher zweifelhaft.
Aber er kann dazu lernen.

Gruß L.
Member: coltseavers
coltseavers Jan 06, 2011 at 17:06:32 (UTC)
Goto Top
Servus zusammen,

@goscho:
Vielen Dank - das war schonmal ne gute Einleitung/Einordnung und hat mir schonmal ein Stück weitergeholfen.

Generell weiß ich wohl grob, wie eine DB läuft, ein paar SQL-Befehle krieg ich wohl auch auf die Reihe.
Meine Erfahrungen beschränken sich aber auf MySQL, und mit kaputten DBs hatte ich bisher auch nie zu tun.

Wie schon von goscho richtig erkannt, hab ich nun das .mdf-file mehrfach gesichert und auf nem Experimentier-PC die neue DB installiert.
Schief gehen kann also nichts mehr.

Deshalb stellt sich nun die Frage, welche Befehle in die DB-Management-Console einzuklappern sind (sagen wir über das Management Studio Express).

Ich denke das Zeug hier geht ungefähr in die richtige Richtung, oder?
http://social.msdn.microsoft.com/forums/en-US/sqldisasterrecovery/threa ...

Vielleicht könnt ihr das ja kommentieren/korrigieren/verfollständigen bzw für nen Dummie aufbereiten.

Thanks a lot!

Gruß,
Colt, Stuntman ohne Absicherung ;)
Member: Logan000
Logan000 Jan 07, 2011 at 08:50:00 (UTC)
Goto Top
Moin Moin

Zitat von @coltseavers:
Deshalb stellt sich nun die Frage, welche Befehle in die DB-Management-Console einzuklappern sind (sagen wir über das
Management Studio Express).
Auf deinem Verbundenen Server einen Rechtlick auf Datenbanken und Anfügen und deine MDF Datei auswählen.
Wenn alles gut läuft soltes das gewesen sein.

Ich denke das Zeug hier geht ungefähr in die richtige Richtung, oder?
http://social.msdn.microsoft.com/forums/en-US/sqldisasterrecovery/threa ...
Sollen wir aus diesem Link schliessen das du des Anfügen schon augefüht hast und dabei Fehler 9004 aufgetreten ist?

Ansonsten ist diese Anleitung hier an ehesten für deine Problemstellung brauchhbar.

Gruß L.
Member: MadMax
MadMax Jan 07, 2011 at 09:05:16 (UTC)
Goto Top
Hallo Colt,

für die MSDE gibt es meine ich leider kein kostenloses, grafisches Tool, zumindest nicht von MS. Aber wie schon oben erwähnt, kannst Du das Management Studio Express für SQL Server 2005 verwenden, in der kommerziellen Version jedenfalls kann man da auch SQL Server 2000 bzw. MSDE administrieren. Das gibt es unter Microsoft SQL Server Management Studio Express bzw. Microsoft SQL Server Management Studio Express Service Pack 4 in der der neuesten Version.

In diesem Tool gibt es bei Rechtsklick auf "Datenbanken" den Punkt "Anfügen...", da kannst Du Deine mdf-Datei angeben und bekommst Deine Datenbank. Die ldf-Datei wird dabei automatisch erstellt.

Falls der Weg nicht klappt, gibt es auch den Befehl bzw die Prozedur "sp_attach_db", eine Beschreibung findest Du hier. Ist leider die SQL Server 2005 Version der Hilfe, funktioniert aber in SQL Server 2000 oder MSDE genauso. Hier gilt auch wieder: einfach die mdf-Datei angeben, die ldf-Datei wird automatisch erstellt.

Um sp_attach_db abzuschicken, kannst Du auch das Management Studio verwenden oder das Tool, das auch die MSDN mitbringt, osql (Anleitung auch wieder bei MS). Alternativ gibt es auch ein paar kostenlose Tools, die diese Aufgabe erfüllen, z.B. Database Browser Portable.

Deine Datenbank ist dann zwar wiederhergestellt, aber das, was ich immer als größtes Problem empfunden habe, kommt dann noch: die Benutzer in Deiner Datenbank sind nicht auf Deinem neuen Server. Selbst, wenn der Benutzer x, der sich in der DB befindet, bereits auf dem Server existiert, stimmen die IDs der beiden Benutzer wahrscheinlich nicht überein. Wenn die Benutzer in der DB also keine eigenen Objekte besitzen, wovon ich mal ausgehe, dann mußt Du die Benutzer in der wiedergestellten DB löschen und dann auf dem Server neu anlegen und die Berechtigung für die DB erteilen.

Viel Erfolg.

Gruß, Mad Max