Neu Update auf 1.9 nicht möglich

  • Ersteller des Themas Ersteller des Themas M'o
  • Erstellungsdatum Erstellungsdatum

M'o

Aktives Mitglied
7. März 2009
59
6
Hallo zusammen,

wir müssen durch die bevorstehenden Abkündigungen nun auf die V1.9 updaten. Dazu habe ich eine VM aufgesetzt und die Eval-Version vom 2019er SQL-Server Standard sowie unsere V1.5.20 lauffähig installiert.
Beim Versuch des Updates wird folgender Fehler geworfen:

Code:
Unbehandelte Ausnahme #959190594F6282F vom Typ System.Exception in
System.Exception: Datenbank-Sortierungskonflikt.
In der Datenbank wurde ein Konflikt in den Sortiereinstellungen (Collations) festgestellt. Bitte öffnen Sie die JTL-Wawi-Datenbankverwaltung und wählen dort Datenbank reparieren um das Problem zu beheben. Danach können Sie das Update durchführen.

2024-05-23T17:15:55 DEBUG - Dauer: 2ms
2024-05-23T17:15:55 DEBUG - SELECT ISNULL(MAX(kUpdateLog), 0) FROM tUpdateLog
2024-05-23T17:15:55 DEBUG - Dauer: 6ms, (bis zum Reader)
2024-05-23T17:15:55 DEBUG - [TableCache] Invalidate: Full Cache
2024-05-23T17:15:55 DEBUG - [TableTable] Eintrag TableCache.tversion entfernt - Removed
2024-05-23T17:15:55 DEBUG - DELETE FROM tOptions WHERE cKey = 'UpdateGestartet'
2024-05-23T17:15:55 DEBUG - Dauer: 8ms, AffectedRows: 0
2024-05-23T17:15:55 DEBUG - DECLARE @collation NVARCHAR(255);
SELECT @collation = CONVERT(NVARCHAR(255), SERVERPROPERTY('Collation'));
IF (CONVERT (nvarchar(255), DATABASEPROPERTYEX(DB_NAME(), 'collation')) <> @collation)
BEGIN
    SELECT 1
END ELSE BEGIN
    SELECT
        COUNT(*)
    FROM
        sys.columns
    JOIN
        sys.types ON sys.types.system_type_id = sys.columns.system_type_id AND sys.types.user_type_id = sys.columns.user_type_id
    JOIN
        sys.tables ON sys.tables.object_id = sys.columns.object_id
    JOIN
        sys.schemas ON sys.schemas.schema_id = sys.tables.schema_id
    WHERE
        sys.columns.collation_name <> @collation AND
        sys.types.name IN ('char', 'nchar', 'varchar', 'nvarchar', 'text', 'ntext') AND
        (sys.tables.name LIKE 'ameise_%' OR sys.tables.name LIKE 'pf_%' OR sys.tables.name LIKE 'ebay_%' OR sys.tables.name LIKE 't%') AND
        (sys.tables.name <> 'tFulfillerMerchantsSupplier' AND sys.tables.name <> 'tMerchantProductAttributeMapping')
END
2024-05-23T17:15:55 DEBUG - Dauer: 0ms, Result: 1
2024-05-23T17:15:55 DEBUG - SELECT * FROM tUpdateLog WHERE kUpdateLog > @kUpdateLog
kUpdateLog = 2
2024-05-23T17:15:55 DEBUG - Dauer: 1ms, (bis zum Reader)
2024-05-23T17:15:55 DEBUG - Dauer: 2ms, 0 Zeilen
2024-05-23T17:15:55 DEBUG - SELECT (CASE WHEN SERVERPROPERTY('MACHINENAME') = HOST_NAME() THEN 'local' ELSE 'remote' END) AS instance
2024-05-23T17:15:55 DEBUG - Dauer: 0ms, Result: remote
2024-05-23T17:17:01 DEBUG -
                MERGE INTO
                    eazybusiness.dbo.tOptions  AS myTarget
                USING (VALUES (@Key, @Value)) AS mySource(cKey, cValue)
                ON mySource.cKey = myTarget.cKey
                WHEN NOT MATCHED BY TARGET THEN
                    INSERT (cKey, cValue) VALUES (mySource.cKey, mySource.cValue);
                SELECT
                    cValue
                FROM
                    eazybusiness.dbo.tOptions
                WHERE
                    cKey = @Key;
@key = 'WawiSeed'
@value = 'E0D623B661E0DDA7'
2024-05-23T17:17:01 DEBUG - Dauer: 11ms, (bis zum Reader)
2024-05-23T17:17:01 DEBUG - Dauer: 12 ms, 1 Zeilen
2024-05-23T17:17:01 DEBUG - DELETE FROM eazybusiness.dbo.tOptions WHERE cKey = @Key
@key = 'WawiSeed'
2024-05-23T17:17:01 DEBUG - Dauer: 3ms, AffectedRows: 1
2024-05-23T17:17:01 DEBUG -
                MERGE INTO
                    eazybusiness.dbo.tOptions  AS myTarget
                USING (VALUES (@Key, @Value)) AS mySource(cKey, cValue)
                ON mySource.cKey = myTarget.cKey
                WHEN NOT MATCHED BY TARGET THEN
                    INSERT (cKey, cValue) VALUES (mySource.cKey, mySource.cValue);
                SELECT
                    cValue
                FROM
                    eazybusiness.dbo.tOptions
                WHERE
                    cKey = @Key;
@key = 'WawiSeed'
@value = '3135747A991A605F'
2024-05-23T17:17:01 DEBUG - Dauer: 4ms, (bis zum Reader)
2024-05-23T17:17:01 DEBUG - Dauer: 4 ms, 1 Zeilen
2024-05-23T17:17:01 DEBUG -
                MERGE INTO
                    eazybusiness.dbo.tOptions AS myTarget
                USING (VALUES (@Key, @Value)) AS mySource(cKey, cValue)
                ON mySource.cKey = myTarget.cKey
                WHEN NOT MATCHED BY TARGET THEN
                    INSERT (cKey, cValue) VALUES (mySource.cKey, mySource.cValue);
                SELECT
                    cValue
                FROM
                    eazybusiness.dbo.tOptions
                WHERE
                    cKey = @Key;
@key = 'AnonymousWawiSeed'
@value = 'FBD71AE43A18EC0B'
2024-05-23T17:17:01 DEBUG - Dauer: 5ms, (bis zum Reader)
2024-05-23T17:17:01 DEBUG - Dauer: 6 ms, 1 Zeilen
Zeitstempel: 2024-05-23T17:17:01
Locale: German (Germany)
Locale: German (Germany)
Version: Der Wert wurde nicht erstellt.
Plattform: Wawi
WawiSeed: 1.5.27608.41501
Prozessname: JTL-Wawi
Physikalischer Speicher: 328839168 / Peak: 421507072
Basispriorität: 8
Prioritätsklasse: Normal
CPU-Zeit (User): 0:00:28,546875
CPU-Zeit (System): 0:00:11,296875
Page-Size (Sytem): 1174816 / Peak: 302735360
Page-Size: 285908992 / Peak: 302735360
Offene Handles: 2358
Database:
Build: 2405101350 6f8ca4fd990bee50026e3b6bc12bc2051fdca3b0

Zunächst habe ich wie empfohlen, die Selbstreparatur angestoßen, die jedoch auf einen Fehler läuft:

Rep.png
Dem Collations-Thema bin ich bereits nachgegangen und auf den Thread gestoßen:
https://forum.jtl-software.de/threads/collations-probleme-kann-nicht-updaten.90786/
Die Lösungsvorschläge helfen jedoch nicht weiter, da sich die Collation wie folgt verändert:

Nach Installation des SQL-Server ist sie "SQL_Latin1_General_CP1_CI_AI"
Nach Initialisierung "eazybusiness" ist sie immer noch richtig "SQL_Latin1_General_CP1_CI_AI"
Nach Import Datensicherung ist daraus "Latin1_General_CI_AS" geworden.

Wie bekomme ich hier die Collation korrigiert?
Vielen Dank für einen Schubs in die richtige Richtung!

Ergänzung: Bei der Installation des 2019er SQL-Server ist die Collation "Latin1_General_CI_AS" nicht vorhanden sondern nur die "SQL_Latin1_General_CP1_CI_AS".
 
Zuletzt bearbeitet:

Nanometer

Aktives Mitglied
11. April 2021
36
4
Servus, ich stehe gerade vor dem gleichen Problem.

Konntest du es irgendwie lösen?

beste Grüße axL
 

M'o

Aktives Mitglied
7. März 2009
59
6
Hallo Nanometer,

leider nein, da hat der Support unterstützen müssen.

Beste Grüße
M'o

​

 
  • Gefällt mir
Reaktionen: Nanometer

NewBuy

Sehr aktives Mitglied
29. August 2016
2.114
321
Versucht mal auf die Erstmögliche 1.8 upzudaten, wenn dieses geklappt habt geht es dann auch auf der 1.9 hatte ein ähnliches Problem mit der 1.6.4
 
  • Gefällt mir
Reaktionen: Nanometer

mvh

Sehr aktives Mitglied
26. Oktober 2011
1.258
489
Moin. Den JTL Support bitten oder selbst in SSMS verändern.
Die Datenbank muss aber offline genommen werden davor, bzw. In Single-User Modus laufen.
 

Nanometer

Aktives Mitglied
11. April 2021
36
4
Der Support hat mir geholfen.
Mein Fehler war, dass der SQL Server nicht mit der richtigen Collation installiert war.

Ich habe dann den Server nochmal komplett neu aufgesetzt und bei der Installation von JTL Wawi, einen neuen SQL Server installiert und dort direkt beim Punkt Serverkonfiguration, oben Sortierung ausgewählt und in meinem Fall:
SQL_Latin1_General_CP1_CI_AS
ausgewählt.
Dabei habe ich sogar direkt das Backup der 1.5.55.6 in 1.5.55.8 eingespielt.
Update auf 1.9.4.6 ging ohne weitere Problem durch.

Danke für die vielen Tips!
 

easyforms.

Aktives Mitglied
23. März 2012
9
0
Ich hab den selben Fehler. Die Wawi Version 1.519 auf einen aktuelle Version zu aktualisieren schlägt immer fehl. Ich hab auch schon einen neue SQL Instanz mit SQL_Latin1_General_CP1_CI_AS erstellt und ein Backup aufgespielt, ohne Erfolg. Kann jemand das vorgehen hier genauer beschreiben?
 

IT-Schober

Aktives Mitglied
7. Dezember 2017
71
15
@easyforms eine neue SQL-Instanz mit SQL_Latin1_General_CP1_CI_AS reicht leider nicht automatisch, wenn du danach ein Backup zurückspielst. Das Backup bringt die Collation der Datenbank und teilweise auch der einzelnen Textspalten wieder mit. Genau darüber stolpert der Updater dann.
Ich würde in der Test-VM zuerst direkt auf der eazybusiness prüfen:
SELECT SERVERPROPERTY('Collation') AS ServerCollation;
SELECT DATABASEPROPERTYEX(DB_NAME(), 'Collation') AS DatabaseCollation;
Die beiden Werte müssen zusammenpassen. Wenn die schon unterschiedlich sind, ist klar, warum das Update abbricht. Wenn die gleich sind, können trotzdem noch einzelne Spalten abweichen, dann greift der zweite Teil der JTL-Prüfung.
Danach nicht blind im Live-System basteln, sondern Backup/Klon nehmen und über die JTL-Wawi-Datenbankverwaltung die Datenbankreparatur laufen lassen. Wichtig: mit der alten lauffähigen Wawi-Version bzw. passender Datenbankverwaltung starten, nicht erst mitten im fehlgeschlagenen 1.9-Update weiterprobieren. Danach Wawi einmal normal starten, Backup ziehen und erst dann das Update erneut versuchen.
Wenn du magst, poste mal die beiden Collation-Werte aus den zwei SELECTs und die genaue Ausgangsversion. „1.519“ klingt nach 1.5.19.x, da würde ich ggf. auch nicht direkt auf die neueste 1.9 springen, sondern vorher sauber auf einen letzten 1.5er/1.6er Stand bringen.
VG Lukas
 

Ähnliche Themen