[Gelöst] SQL: Tabellen doppelt

26. Mai 2008 12:23

Hallo,

ich habe ein ganz kurioses Problem entdeckt bei dem einfachen Versuch mittels einer Datensicherung eine Testdatenbank aufzubauen.

Die Original-DB ist eine 4.03 auf SQL-Basis.

Beim Einlesen der DASI kam die Fehlermeldung, dass der Name der Tabelle bereits vergeben ist. Nach einer Prüfung (F7 auf Name) habe ich tatsächlich eine 2. Tabelle mit demselbem Namen gefunden, allerdings in einem weit höheren Nummernkreis: z.B. "meine" Tabelle Nr. 50098, die 2. Nr. 1000050098.

Bei genauerer Prüfung ist mir aufgefallen, dass dies sogar auf mehrere Tabellen zutrifft, z.B. Post Code etc.

Im SQL-Server besteht der 2. Tabellenname allerdings aus dem Namen plus der angehängten Nummer.

Kann sich jemand vielleicht erklären, was das Ganze zu bedeuten hat?

Die "2." Tabellen sind übrigens alle ohne Dateninhalt. Kann man sie vielleicht einfach löschen?

Ich habe mal einen Bildausschnitt von betroffenen Tabellen angehängt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von tjane am 28. Mai 2008 11:12, insgesamt 1-mal geändert.

26. Mai 2008 13:09

Hi,

ich mein mich zu erinnern, dass die 100xxxxxxx Tabellen bei der Rücksicherung temporär angelegt werden. Die gleichen Namen würden das bestätigen.

Das ganze deutet auf eine abgebrochene Rücksicherung hin die, wenn ich mich wiederum richtig erinnere, bei einer erneuten angestoßenen Rücksicherung wieder aufgenommen wird.

Ggf. kannst du zum Testen eine SQL Sicherung machen und dann den Test auf der SQL Rücksicherung machen. Ich denke beim normalen Löschen des Objekts über NAV würde es Probleme geben, da es meiner Meinung nach keine Verbindung mehr zwischen der "Post Code" Tabelle und der zugehörigen "Mandant$Post Code 225" Tabelle gibt.

Es wäre den Test in einer SQL Rücksicherung auf jeden Fall wert, ob bei einer erneut angestoßenen NAV Rücksicherung das Problem "automatisch" gelöst wird.

26. Mai 2008 15:12

Vielen Dank für die Info.
Werde ich so probieren.

27. Mai 2008 12:00

Hallo,

habe jetzt ein paar Tests gemacht und eine SQL-Dasi gezogen und im Testsystem eingespielt.
Bei einer abgebrochenen Rücksicherung kann ich die damalige ja nicht noch einmal neu anstoßen, da ich sie gar nicht habe und mittlerweile etliche Daten und Objekte hinzugekommen sind.
Eine erneute Sicherung und Rücksicherung mittels SQL (denn über NAV geht's nicht mehr) hat ebenfalls nichts gebracht.
Ich habe jetzt die betroffenen Tabellen im SQL-Server gelöscht, aber sie sind im Navision immer noch zu sehen ???
Wie kann ich sie endgültig löschen, bzw. an welcher Stelle im SQL-Server sind die möglicherweise noch "gespeichert" ?

27. Mai 2008 13:00

Hi!

Das Problem tritt nur bei einer - abgebrochenen - nativen Rücksicherung auf, also dem Import eines FBK.
Versuch mal unter "Extras" die Rücksicherung neu anzustarten; Du wirst warscheinlich gefragt werden, ob der bestehende Vorgang fortgesetzt werden soll - in diesem Fall mit "Ja" bestätigen und den Restore zu Ende führen ...

27. Mai 2008 13:44

Genau das kann ich leider nicht.
Diese Rücksicherung scheint schon im Februar passiert zu sein, keine Ahnung von wem und welche. Selbst wenn würde ich so ja Daten verlieren.

27. Mai 2008 13:51

ich kann mich errinnern, das das nur vom gleichen Rechner aus funktioniert. Im Zweifel hilft hier erstmal nur probieren von Rechner zu Rechner, bis das beenden der Sicherung angeboten wird.

evtl. hat aber jemand eine bessere Methode, denn das Ding hatten wir auch schon 2 mal beim Kunden.

27. Mai 2008 17:34

Nun, man könnte es auch mit 'ner "SQL Brechstange" versuchen und die Tabellen per TSQL aus der Object-Tabelle löschen ...

ACHTUNG: Unbedingt vorher Backup machen (und zwar via SQL) :!: :!: :!:

Code:
-- Anzeige:
select * from "Object" where "ID" between 1000000000 and 1999999999

-- Löschen:
delete from "Object" where "ID" between 1000000000 and 1999999999


UNBEDINGT VORHER TESTEN!

27. Mai 2008 17:42

irgendwo muss sich NAV ja merken, dass da noch von diesem bestimmten Rechner eine Datensicherung offen ist (hoffentlich nicht in der ZUP).
Dieser Eintrag müsste evtl. auch als Hilfe dienen wer und wo.

27. Mai 2008 19:25

stryk hat geschrieben:Das Problem tritt nur bei einer - abgebrochenen - nativen Rücksicherung auf, also dem Import eines FBK.


Das SQL Backup/Restore hab ich nur vorgeschlagen in der Annahme, die Infos über das abgebrochene Native Backup würden in der Db schlummern und man könnte auf einer SQL-Kopie ohne Schaden testen, was dabei passiert. Weil wohl nur Gott weiss, was genau im Hintergrund passiert beim Fortsetzen eines offensichtlich älteren native Restore.

28. Mai 2008 09:40

Ich habe mittels SQL-Backup mal probiert, was mit dem NAV-Backup passiert. Irgendwo hat er sich das tatsächlich gemerkt und die Rücksicherung fortgesetzt. Allerdings kam trotzdem irgendwann die Fehlermeldung, dass der Name bereits existiert und es wurde wieder angebrochen.

28. Mai 2008 10:01

nicht fortsetzen, sondern beenden oder löschen, irgendeinefrage kommt da.

28. Mai 2008 11:11

Dasi fortsetzen = Nein
Dateien löschen = Ja
--> Sorgentabellen sind weg, alles andere scheint zumindest auf den ersten Blick noch da zu sein

Super
Danke