Du bist nicht eingeloggt! Möglicherweise kannst du deswegen nicht alles sehen.
  (Noch kein mods.de-Account? / Passwort vergessen?)
Zur Übersichtsseite
Hallo anonymer User.
Bitte logge dich ein
oder registriere dich!
 Moderiert von: Che Guevara


 Thema: MS SQL Server - einzelne Tabellen sichern und recovern
erste ungelesene Seite | letzter Beitrag 
Volvicfetischist

Arctic
Hallo, folgendes Problem:

Habe hier einen MS SQL Server 2005 (Express). Eine spezielle Software befüllt Datenbanken und Tabellen in diesem Server. Jede Datenbank besitzt 1-n Tabellen.

Datenbanken = Kunden-"Container"
Tabellen = Inhalte

Ganz allgemein: Wie stelle ich es am besten an, einzelne TABELLEN (nicht Datenbanken) dieses SQL Servers zu sichern und auch einzeln wiederherzustellen?
Unsere Backuplösungen kann nur ganze Datenbanken sichern und wiederherstellen.

Vielleicht gibt es sogar ein Tool dafür?
Oder eine Funktion im SQL-Server selbst?
An Statements dachte ich natürlich auch schon, aber das letzte mal habe ich SQL Statements vor 3-4 Jahren angewendet und selbst da nur sehr marginal, wie allgemein mit dem Thema .

gruß
15.01.2008 10:01:18  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
rABBI

Arctic
warum sollte man sowas wollen? tabellen hängen voneinander ab und damit sind die informationen der einen normalerweise nutzlos ohne die informationen der anderen. warum willst du nicht gleich alles sichern?
15.01.2008 10:15:53  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Volvicfetischist

Arctic
Ok zum Verständnis:
Jede Tabelle ist in sich ein Storage für Terminologie (Deutsch-Englisch, Deutsch-Russisch etc.). Jeder Kunde (Container/Datenbank) hat mehrere dieser Terminologiedatenbanken (Fachbegriff: Translation Memories, TMs). Jedes TM kann mit Software gepflegt werden (Import, Export, direktes Reinschreiben etc.). Nun kann es sein, dass ein User Fehler bei der Bearbeitung eines TMs macht, diese können recht schwerwiegend sein. Client-Tool-seitig lässt sich sowas oft nicht Rückgängig machen (z.B. bei Import mit Überschreiben).

Zum Thema habe ich noch das hier gefunden. Ganz unten schreibt der Offizielle u.a.
"You can restore the primary filegroup to a new database instance, and then restore only the filegroup containing the table you need to restore. At that point, the database is online, and you can SELECT out of it and into your production database."

Verstehe ich das richtig, dass ich irgendwie die komplette DB als neue DB in den Server integrieren kann und daraus per SELECT irgendwie die Daten einzelner Tabellen in meine Live-DB schieben/überschreiben kann?
Falls ja, käme mir eine Step-by-Step Anleitung inkl. statements sehr gelegen... peinlich/erstaunt
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Volvicfetischist am 15.01.2008 10:35]
15.01.2008 10:33:26  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
igor]2

Phoenix
Bulk Import/Export habt ihr euch angeguckt? Das wäre so mein erster Ansatz gewesen, wenn ich dumpf komplette Tabellen auslesen/einlesen will.
15.01.2008 12:27:35  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[DK]Peacemaker

[dk]peacemaker
SQL Server Management Studio Express.

Das bietet eine Sicherung für Tabellen und Datenbank an.
15.01.2008 13:20:24  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Volvicfetischist

Arctic
 
Zitat von [DK]Peacemaker

SQL Server Management Studio Express.

Das bietet eine Sicherung für Tabellen und Datenbank an.



Das nutze ich, es bietet aber leider keine automatisierte Sicherung an. Darum geht es mir primär.
Also autmatisch alle DBs inkl. Tabellen sichern, und je nach Bedarf einzelne Tabellen oder auch komplette DBs restoren.


Danke igor, ich schau mir das mal an.
15.01.2008 13:27:32  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[DK]Peacemaker

[dk]peacemaker
 
Zitat von Volvicfetischist

 
Zitat von [DK]Peacemaker

SQL Server Management Studio Express.

Das bietet eine Sicherung für Tabellen und Datenbank an.



Das nutze ich, es bietet aber leider keine automatisierte Sicherung an. Darum geht es mir primär.
Also autmatisch alle DBs inkl. Tabellen sichern, und je nach Bedarf einzelne Tabellen oder auch komplette DBs restoren.


Danke igor, ich schau mir das mal an.


Oh Sorry, ich war so heiß drauf, das zu schreiben, dass ich nicht alles genau gelesen habe.

Ich hab aber auch befürchtet, dass es automatisch gehen soll. Aber vielleicht lässt sich soetwas konfigurieren. Immerhin speichert das Management Studio die Sicherungen auf dem Server, der den SQL Server ausführt, was dafür sprechen würde, dass es eine Funktion dafür gibt am Server gibt.
15.01.2008 13:31:17  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Volvicfetischist

Arctic
Klingt eigentlich ganz logisch, aber gefunden habe ich auch nichts in der Richtung.

Habe mich etwas mit dem bcp utility beschäftigt. die syntax ist doch ein bisschen komplex, und irgendwie komme ich nicht weiter peinlich/erstaunt
igor, kannst du mir vielleicht simpel eine Vorlage nennen, wie ich eine Tabelle/alle Tabellen aus einer bestimmten Datenbank in eine Datei schreiben, und

umgekehrt wieder eine bestimmte Tabelle in eine vorhandene Datenbank einspielen kann?
Achja: ich bin kein FiAe Augenzwinkern
15.01.2008 14:45:01  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
igor]2

Phoenix
Habs grad mal probiert, das hat funktioniert:

Einmalig ne Formatdatei für die Tabelle "Items" in Datenbank "MyTestDB" erstellen:
bcp MyTestDB.dbo.Items format nul -T -S ALEPH\SQLEXPRESS -n -f Items.fmt

Daten nach Items.dat exportieren:
bcp MyTestDB.dbo.Items out Items.dat -T -S ALEPH\SQLEXPRESS -f Items.fmt

Daten zurückspielen:
bcp MyTestDB.dbo.Items in Items.dat -T -S ALEPH\SQLEXPRESS -f Items.fmt

Die Tabelle an sich muss so allerdings schon in der DB existieren und sollte leer sein, um Kollisionen/Doppeleinträge zu vermeiden.
15.01.2008 15:14:59  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Volvicfetischist

Arctic
Super, danke! Ein erster Test hat geklappt. Habe die Tabelle erfolgreich exportiert und (nachdem ich die selbe Tabelle mit gleichem Namen in einer Test-DB erstellt hatte) wieder importiert.
Ich versuche das Ganze jetzt mal als Funktion zusammenzuschreiben; und zwar so, dass alle DBs und deren Tabellen die mit "C_" beginnen komplett in einem Rutsch exportiert werden.
Danach brauche ich eigentlich nur noch ein Script, dass mir eine bestimmte Tabelle aus diesem exportiertem Backup in das vorhandene System importiert. Davor muss die vorhandene Tabelle allerdings geleert werden.

Falls du da was aus dem stegreif weißt, kannst du es ja posten, ich versuche mich parallel. Bin aber nicht so versiert, bzw. eigentlich nur mit allgemeiner Datenbank/Batch-Syntax Augenzwinkern
15.01.2008 15:36:27  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
igor]2

Phoenix
Da muss ich passen, habe bisher auch noch nie mit dem Tool gearbeitet. :/
15.01.2008 18:27:18  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
 Thema: MS SQL Server - einzelne Tabellen sichern und recovern


mods.de - Forum » Webdesign & Coding » 

Hop to:  

| tech | impressum