[gelöst]SQL-Fehler beim Konvertieren 2009R2 nach 2013

30. September 2015 11:18

Hallo zusammen,

ich habe eine Kundendatenbank vom 3.70 auf 2009R2 upgegradet und möchte nun den nächsten Schritt auf die 2013 machen. Die Objekte sind bis auf die Tabellen gelöscht. Das Ganze geschieht mit einem SQL-Server 2012 und einem Windows-Server 2008R2. Beim Öffnen der 2009R2-Datenbank wird zunächst verlangt, dass ich die DB auf mindestens Kompatibilitätsgrad 100 bringe (von 90), ich setze ihn daraufhin gleich auf 110. Wenn ich die DB erneut öffne, kommen die beiden Warnungen zur Konvertierung, dann startet selbige. Zum Ende hin, nach ca. 4 Stunden bekomme ich dann folgende Fehlermeldung:

Unbenannt2.JPG


An der angegebenen Tabelle kann es auf keinen Fall liegen, ich nehme an, dass dies irgendein Folgefehler ist. Aber wovon? Die Datenbank (ca. 110 GB) ist anschließend unbrauchbar.

Gruß
Rainer
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von rainergaiss am 9. Oktober 2015 12:12, insgesamt 1-mal geändert.

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

30. September 2015 11:30

Schau doch mal, ob in der Ausgangstabelle nicht doch irgendwo ein NULL- wert in die Language- Spalte von NavisionContacts geraten ist. Das die Meldung in so einem Fall kommt, ist vollkommen O.K. NAV kann nicht mit NULL umhgehen, und hat entsprechende Constraints in seinen Feldern.

Ob die DB danach wirklich unbrauchbar ist kann nicht nicht sagen. Ich bin aber nach so einem Fall immer noch per SQL- Manager an die DB ran gekommen, um den Fehler zu korrigieren. Das du die DB nicht von NAV aus bearbeiten kannst ist logisch, es ist nicht mehr 2009 aber auch nicht 2013, da her funktioniert weder das eine noch das andere.

Ich würde versuchen den Fehler über das SQL- Studio zu finden, und zu beheben, und dann nochmal versuchen die Konvertierung zu starten.

Gruß, Fiddi

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

30. September 2015 12:14

In der Ausgangstabelle sind etliche NULL-Felder, auch in anderen Spalten. In den Eigenschaften der betroffenen Spalte steht NULL-Werte zulassen auf true. Da dürfte doch eigentlich nichts passieren, oder doch?

Und falls die NULL-Werte tatsächlich "schädlich" sind, wie kann ich die am besten finden und korrigieren, nachdem dann höchst wahrscheinlich noch mehr Tabellen betroffen sind? Laufen lassen, bis er auf den Fehler stößt ist ja wahrscheinlich auch keine Lösung - jedesmal 4 Stunden???

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

30. September 2015 12:48

Hallo,
die Lösung lautet leider nur
Code:
Update Table
 set Field = '' oder 0 oder '1753-01-01 00:00:00.000'
 where Field=NULL


Ansonsten sollte in keiner NAV- Tabelle/Feld dieses Contraint auf True sein. Das ist ja auch keine Standard- Tabelle, wird/wurde die von außen gefüttert?

Läuft die Konvertierung denn wieder los, wenn du den NAV2013- Client neu startest?

Gruß Fiddi

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

30. September 2015 13:59

Das Problem ist, dass ich über diese Datenbank verhältnismäßig wenig weiß. Ich habe mich gerade einmal schlau gemacht, was die insgesamt 3 Tabellen betrifft. Sie werden nur von 2 der insgesamt 12 Mandanten genutzt, wobei sie offensichtlich der "Erstaufnahme" importierter Daten dienen. Daher wahrscheinlich auch NULL erlaubt. Ich gehe davon aus, dass da irgendjemand daran gedreht hat.

Um die Konvertierung nicht weiter zu behindern, habe ich erst einmal die Daten in den 3 Tabellen gelöscht. Alles Andere gehe ich bei der nächsten Konvertierung an, wenn ich nähere Informationen über die Daten habe.

Sollte er nochmal abbrechen versuche ich zu korrigieren und fortzufahren. Das letzte Mal habe ich abgebrochen und einen Restore von der DB gemacht.

Ich werde dann hier berichten, wie es weitergegangen ist. Jetzt ist erst einmal wieder warten angesagt ...

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

30. September 2015 17:08

Es war wie du gesagt hast. Nach dem Löschen der Daten aus den besagten Tabellen ist er durchgelaufen. Das heißt, ich muss vor der nächsten Konvertierung die NULL-Felder mit "leer" füllen. Ich werde mal recherchieren, wer den Mist hier angestellt hat. :evil:

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

1. Oktober 2015 10:09

Ich habe jetzt ein weiteres Problem bei der Konvertierung nach 2015. Ich setze es einmal hier herein, weil ich nicht weiß, in welches Forum es genau gehört. Das Problem ist exakt dasselbe wie dieses:
http://www.msdynamics.de/viewtopic.php?p=103470#p103470
Auch hier ist es ursprünglich eine sehr alte Version (2.xx), auch hier war es ursprünglich eine Schweizer Version, und auch hier sind alle Bezeichnungen in der Objekt-Tabelle 2000000001 in Deutsch. Ich habe zwar das Problem komplett verstanden, weiß aber trotzdem nicht, was ich jetzt tun soll. Wie gesagt, der einzige Unterschied ist, dass ich die 2013-Version nicht mit 2013R2 sondern mit einer 2015 öffnen möchte.

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

1. Oktober 2015 10:29

Ziemlich merkwürdig.

Versuch doch mal folgendes:

erstelle in der alten Version neue DB mit einem CC- Client der auf englische Sprache eingestellt ist. Dort hinein importierst du den Objektstand aus der zu konvertierenden DB. in diese DB importierst du in 2009 eine FBK mit den Mandantendaten und den Mandantenübergreifenden Daten, aber keine Objekte. Wenn du Glück hast, kannst du die DB danach konvertieren. :-D

Gruß Fiddi

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

1. Oktober 2015 10:41

Es geht doch jetzt nur noch um 2013 nach 2015. Sollte ich vielleicht die 2013 erst einmal mit einer 2013R2 und dann mit einer 2015 öffnen?

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

1. Oktober 2015 11:15

Hallo,

Also das mit dem Umbenennen der Felder im Managementstudio sollte funktionieren. Man muss es allerdings wohl in allen Tabellen machen, die die dbo.Object referenzieren. (db.Object*)

Und wahrscheinlich auch das Feld "Identifiers" in der Tabelle $ndo$dbproperty. (oder nur dieses Feld!?)

Gruß, Fiddi

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

1. Oktober 2015 11:20

Hallo Fiddi,

kannst du mir sagen, wo ich die Tabelle $ndo$dbproperty finde? Mit dem Management Studio finde ich sie auf jeden Fall nicht in dieser Datenbank.

Gruß
Rainer

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

1. Oktober 2015 11:24

Hallo,

die sollte eigentlich da sein.
Es ist normalerweise die erste Tabelle in einer NAV Datenbank "dbo.$ndo$dbproperty" :wink:

Gruß, Fiddi

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

1. Oktober 2015 11:51

fiddi hat geschrieben:Es ist normalerweise die erste Tabelle in einer NAV Datenbank "dbo.$ndo$dbproperty" :wink:
Gruß, Fiddi


O ja, ich bin blind :oops:

Ich musste den Eintrag in der "dbo.$ndo$dbproperty" ändern UND die Spalte von Versionsliste in "Version List" umbenennen. Dann hat es mit der Konvertierung geklappt.

Vielen Dank!
Rainer

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

1. Oktober 2015 13:03

Nochmal hallo,

jetzt gibt es das nächste Problem. Beim Synchronisieren ist er mir gleich auf einen Fehler gelaufen, nämlich, dass erst die Tabelle und später die Spalten der dbo.Object nicht existieren.

Daraufhin habe ich den kompletten Eintrag in der "dbo.$ndo$dbproperty" mit der ENU-Version ersetzt, den Tabellennamen in Object geändert und auch die Spaltennamen entsprechend angepasst. Damit ist der Fehler auch behoben. Jetzt bekomme ich aber dafür die Fehlermeldung TableData 2000000001 existiert nicht. Ist die Datenbank jetzt noch zu retten?

Gruß
Rainer

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

1. Oktober 2015 14:08

So langsam habe ich jetzt auch keine Idee mehr.

Ich hätte jetzt versucht, die Tabellen so zu lassen, und nur den Identifier an die vorhandene Tabelle anzupassen. Denke auch dran, dass noch andere Tabellen auf die Tabelle Object zugreifen.

Gruß, Fiddi

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

1. Oktober 2015 14:26

Das habe ich ja auch versucht :-(

Ich glaube ich gehe zurück auf die 2013, mache dort einen fbk-Backup, erzeuge eine neue 2013 und lese den dort wieder ein. Dann müsste alles wieder passen, auch die dbo.object. Und dann mache ich wie gewohnt weiter. Kostet halt nur viel Zeit :cry:

Was hältst du davon?

Gruß
Rainer

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

1. Oktober 2015 14:34

Ich glaube ich gehe zurück auf die 2013, mache dort einen fbk-Backup, erzeuge eine neue 2013 und lese den dort wieder ein.


Das würde ich aber erst mal mit einer Cronus probieren. Da gab es ein Problem mit dem Einlesen von .FBKs in NAV2013 :roll:

Gruß Fiddi

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

2. Oktober 2015 23:31

fiddi hat geschrieben:Da gab es ein Problem mit dem Einlesen von .FBKs in NAV2013 :roll:

Nicht nur eins :wink: , z.B. diese.

Re: SQL-Fehler beim Konvertieren 2009R2 nach 2013

9. Oktober 2015 12:11

Zum Glück hat es bei mir damit geklappt - ich habe fertig, und ich bin es auch :-D