Update von BC14 nach BC23 (OnPremise)

21. Dezember 2023 16:48

Hallo liebes Forum,

ich bin aktuell dabei eine bestehende Kundenlösung von BC14 OnPremise auf BC23 OnPremise upzugraden. Ich habe mich hierbei an die Micorosoft Upgrade Dokumentation gehalten.

https://learn.microsoft.com/en-us/dynam ... se-app-v23

Soweit hat das auch wunderbar funktioniert, aber nur!, wenn ich keine Extensions bereits auf BC14 Ebene habe. Sobald ich auf BC14 Extensions habe und diese bei der Vorbereitung
der Datenbank nur! unpublishe und KEINEN CleanSync durchführe kommt es bei TASK 14 (Sync der Migrationsapp) zu einem Fehler:

TAKS14 der ausgeführte Befehl lautet: "Sync-NavApp -ServerInstance $BC23Instance -Name 'Kunde_Migration' -Version '2.0.0.0'

Fehlermeldung in Powershell: An unexpected error occurred after a database command was cancelled.

In der Ereignisanzeige von steht dann folgendes:

Code:
Server instance: KUNDE_MIG
Category: Sql
ClientSessionId: 00000000-0000-0000-0000-000000000000
ClientActivityId: 00000000-0000-0000-0000-000000000000
ServerSessionUniqueId: 7b47a4c2-fe3f-4fa9-a671-399cbb69e7b7
ServerActivityId: 355f30c0-541b-490f-ba9e-290b66a87f6c
EventTime: 12/21/2023 13:04:29
Message (NavSqlException): ParentException: NavSqlException
The following SQL error was unexpected:
Error: The new name 'KUNDE$VAT Statement Name$437dbf0e-84ff-417a-965d-ed2bb9650972$ext' is already in use as a OBJECT name and would cause a duplicate that is not permitted.
Error: The new name 'KUNDE$VAT Statement Name$437dbf0e-84ff-417a-965d-ed2bb9650972$ext$Key1' is already in use as a OBJECT name and would cause a duplicate that is not permitted.
SQL statement:
exec sp_rename N'"dbo"."KUNDE$VAT Statement Name$246c9a17-0ccb-4416-8175-1da40a9515f9$ext"', N'KUNDE$VAT Statement Name$437dbf0e-84ff-417a-965d-ed2bb9650972$ext', N'OBJECT'; IF (SELECT OBJECTPROPERTY(OBJECT_ID(N'dbo."KUNDE$VAT Statement Name$246c9a17-0ccb-4416-8175-1da40a9515f9$ext$0"'), N'IsPrimaryKey'))=1
EXEC sp_rename N'dbo."KUNDE$VAT Statement Name$246c9a17-0ccb-4416-8175-1da40a9515f9$ext$0"', N'KUNDE$VAT Statement Name$437dbf0e-84ff-417a-965d-ed2bb9650972$ext$Key1', N'OBJECT';
ELSE BEGIN
    DECLARE @KeyName sysname = (SELECT [name] from sys.indexes idx where idx.is_primary_key = 1 and idx.object_id = object_ID(N'KUNDE$VAT Statement Name$437dbf0e-84ff-417a-965d-ed2bb9650972$ext'));
    exec sp_rename @KeyName, N'KUNDE$VAT Statement Name$437dbf0e-84ff-417a-965d-ed2bb9650972$ext$Key1', 'OBJECT';
END


Wenn ich die Extension schon bei der Vorbereitung der Datenbank in BC14 noch mit einem "Clean" - Sync komplett von der Datenbank tilge, dann erscheint dieser Fehler nicht. Es scheint also, dass die Extension
irgendwie die Tabellen schon blockiert, so, dass diese nicht mehr überschrieben bzw. umbenannt werden können.

Ich habe das jetzt wie im Beispiel mit der Elster - Extension getestet. Ich erhalte immer dieselbe Fehlermeldung.

Die gleiche Fehlermeldung erscheint auch, wenn ich vor dem Sync-Befehl der MigrationsApp versuche die neue 23er Elster-App selbst zu publishen und zu syncen:

Sync-NavApp -ServerInstance $BC23Instance -Name 'ELSTER VAT Localization for Germany' -Version '23.1.13431.13812' -mode Sync

Auch ein -mode ForceSync bleibt erfolglos.

Gibt es jemand der schon die gleichen oder ähnliche Probleme hatte? Bin jetzt echt ratlos. Kann eben die Migration momentan nur ohne die Apps die bereits in BC14 installiert sind durchführen.
Vielleicht ist das ja auch so gewollt - aber es steht diesbezüglich nirgends ein Hinweis.

In der Upgrade-Doku steht eben auch bei den Vorbereitungstasks (TASK6), dass man bestehende Apps nur uninstallen und unpublishen soll.

Vielen Dank schonmal für hilfreiche Kommentare und viele Grüße, Tobi