SQL Fehler bei Konvertierung NAV 2009 DB -> NAV 20013

1. November 2019 16:50

Heyho,

im Zuge eines NAV Upgrades bin ich bei der Konvertierung einer NAV 2009 DB auf NAV 2013 auf folgenden SQL Fehler gestoßen:

sqlerror.png


Ich habe bereits einige Upgrades durchgeführt und abgesehen davon, dass eine DB-Konvertierung auf NAV 2013 teilweise doch sehr lange dauert, war dieser Schritt immer unproblematisch. Ich weiß nicht so ganz, wie ich mit diesem Fehler umgehen soll. Die T_2000000080 "Page Data Personalization" enthält jedenfalls keinerlei Datensätze.

Hat jemand einen Tip für mich?

FG
Thomas
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: SQL Fehler bei Konvertierung NAV 2009 DB -> NAV 20013

1. November 2019 18:04

Da sind in der SQL-Datenbank wohl (manuell) angelegte Statistiken, die Änderungen am schema verhindern. Schau mal hier: https://docs.microsoft.com/en-us/sql/re ... rver-ver15

Re: SQL Fehler bei Konvertierung NAV 2009 DB -> NAV 20013

4. November 2019 14:38

Schau mal nach, ob in den Optionen der SQL Datenbank die automatische Anlage / Update von Statistiken angehakt ist.
Wir nehmen diese Einstellungen immer vor dem Update weg und setzen Sie später wieder neu.

Re: SQL Fehler bei Konvertierung NAV 2009 DB -> NAV 20013

5. November 2019 13:51

Vielen Dank für eure Rückmeldungen.

SWE hat geschrieben:Schau mal nach, ob in den Optionen der SQL Datenbank die automatische Anlage / Update von Statistiken angehakt ist.
Wir nehmen diese Einstellungen immer vor dem Update weg und setzen Sie später wieder neu.


Habe ich gemacht. Die Fehlermeldung erscheint dennoch beim Konvertieren der Datenbank. Das scheint es nicht gewesen zu sein.

SilverX hat geschrieben:Da sind in der SQL-Datenbank wohl (manuell) angelegte Statistiken, die Änderungen am schema verhindern. Schau mal hier: https://docs.microsoft.com/en-us/sql/re ... rver-ver15


Das kann sehr gut sein. Ich habe mit dem Script im Link mal eine Abfrage gemacht, welche Statistiken auf die Tabelle angelegt sind.

Statistik01.PNG


Das Ergebnis sagt mir leider nichts. Zumal es auf einem anderen SQL Server mit einer anderen 2009er Datenbank ganz ähnlich aussieht.

Statistik02.PNG
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: SQL Fehler bei Konvertierung NAV 2009 DB -> NAV 20013

5. November 2019 19:58

Die mit $ und die _WA sollten keine Probleme machen, nur die anderen mit Klarnamen. Die solltest du erstmal löschen (in der Tabelle mit den gleichnamigen Feldern). Geht es dann noch nicht, kannst du auch alle angezeigten löschen.

Re: SQL Fehler bei Konvertierung NAV 2009 DB -> NAV 20013

6. November 2019 09:33

In unseren Datenbanken erstellen sich die Statistiken auch, daher haben wir ein SQL-Script von Jörg Stryk in der Hinterhand, mit welchem wir in einem solchen Fall die Statistiken löschen können.
(Diese werden später vom SQL-Server bei Bedarf wieder automatisch erstellt.)

Code:
/*********************************************************/
/***              STRYK System Improvement             ***/
/***    Performance Optimization & Troubleshooting     ***/
/***  (c) 2011, STRYK System Improvement, Jörg Stryk   ***/
/***                    www.Stryk.info                 ***/
/*********************************************************/

-- courtesy of D. Rimmelzwaan

DECLARE curAllStats CURSOR  FOR
SELECT o
.name ObjName, s.Name StName
FROM   sys
.stats s, sys.objects o
WHERE s
.auto_created = 0 AND
      s
.user_created = 1 AND
      s
.object_id = o.object_id AND
      o
.type in ('U','V')
DECLARE  @ObjectName NVARCHAR(512)
DECLARE  @StatName NVARCHAR(512)
OPEN curAllStats
FETCH NEXT FROM curAllStats INTO 
@ObjectName, @StatName
WHILE 
@@FETCH_STATUS = 0
  BEGIN
    PRINT 
'DROP STATISTICS [' + @ObjectName + '].[' + @StatName + ']'
    EXEC('DROP STATISTICS [' + @ObjectName + '].[' + @StatName + ']')
    FETCH NEXT FROM curAllStats INTO @ObjectName, @StatName
  END
CLOSE curAllStats
DEALLOCATE curAllStats
GO

Re: SQL Fehler bei Konvertierung NAV 2009 DB -> NAV 20013

9. November 2019 13:23

@ SilverX:
das hat geholfen, danke für den Tipp.

@ Timo:
Dein Script hätte vermutlich auch geholfen, da aber auf dem SQL Server noch andere Datenbanken laufen, habe ich das nicht ausprobiert. Ich war mir nicht sicher, ob ich damit nicht mehr Statistiken lösche, als notwendig ist.


Die Konvertierung nach 2013 läuft jetzt erstmal. Mal sehen, ob noch was hochkommt.