Inhalte aufrufen

Profilbild
- - - - -

Smartstore Upgrade von 5.0 auf 5.1

HTTP Error 500.30

  • Bitte melden Sie sich an, um eine Antwort zu verfassen.
14 Antworten zu diesem Thema

#1 genti11

genti11

    Neuer Benutzer

  • Members
  • 27 Beiträge

Geschrieben: 28 November 2023 - 11:35

Ich habe für die Community Version ein Upgrade von 5.01 auf 5.1 gemacht.

Die Anleitung habe ich hier genommen: https://smartstore.a...rigen Versionen

 

Leider startet der Shop nicht mehr und ich bekomme folgende Fehlermeldung:

 

 HTTP Error 500.30 - ASP.NET Core app failed to start
Common solutions to this issue:

    The app failed to start
    The app started but then stopped
    The app started but threw an exception during startup

Troubleshooting steps:

    Check the system event log for error messages
    Enable logging the application process' stdout messages
    Attach a debugger to the application process and inspect

For more guidance on diagnosing and handling these errors, visit Troubleshoot ASP.NET Core on Azure App Service and IIS.

 

An was könnte es liegen?

Bei Rollback auf die ältere Version funktioniert der Shop wieder.

 

Hier noch ein Auszug aus dem Log File:

 

  1. Unhandled exception. Smartstore.Data.Migrations.DbMigrationException: Migration 5.1.0.0 Core: EmailAccountSecureOption could not be applied due to following error: Cannot find the object "dbo.EmailAccount" because it does not exist or you do not have permissions.. All changes to the database were reversed to 5.1.0.0 Tax: Initial. Please downgrade your application to a version which is known to be compatible with 5.1.0.0 Tax: Initial.
  2. ---> Microsoft.Data.SqlClient.SqlException (0x80131904): Cannot find the object "dbo.EmailAccount" because it does not exist or you do not have permissions.
  3. at Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
  4. at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
  5. at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
  6. at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
  7. at Microsoft.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean isAsync, Int32 timeout, Boolean asyncWrite)
  8. at Microsoft.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry, String methodName)

 

Vielen Dank.

 

Gruss Stefano



#2 kusnez

kusnez

    V.I.P

  • Members
  • 2779 Beiträge

Geschrieben: 28 November 2023 - 16:48

Ich habe ohne Probleme von 5.05 auf 5.1 aktualisiert. 

 

 

 

unser Shop war 2 Tage offline

Deswegen habe ich einen klon-Test-Shop, wo ich alle Änderungen zuerst teste.


M.f.G.
E. Kusnezov
www.stahldeko-shop.de
www.stahldeko-shop.com


#3 genti11

genti11

    Neuer Benutzer

  • Members
  • 27 Beiträge

Geschrieben: 28 November 2023 - 18:48

Ich habe auch versucht einen Zwischenrelease zu machen, von Version 5.01 zu 5.05, aber erhalte immer den gleichen Fehler.



#4 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3802 Beiträge

Geschrieben: 28 November 2023 - 20:18

Die Anwendung findet die Tabelle EmailAccount nicht. Seit 5.0.4 sind im Backend unter System > Systeminformation > Tabellenstatistik die Daten aller Tabellen aufgelistet. Ansonsten muss man über SQL Server Management Studio gehen. Ein mögliche Ursache: das Tabellen-Schema lautet nicht dbo. Das kann man ebf. über SQL Server Management Studio überprüfen und ggf. durch umbenennen korrigieren.

Marcus Gesing

Smartstore AG


#5 kusnez

kusnez

    V.I.P

  • Members
  • 2779 Beiträge

Geschrieben: 28 November 2023 - 20:32

 

 

versucht einen Zwischenrelease zu machen, .... gleichen Fehler.

 

Seit Version 3 mache ich selbst alle Aktualisierungen. Die einzigen Fehler, die vorgekommen sind, lassen sich auf fehlerhafte Datenübertragungen zurückführen. Deswegen übertrage ich die Daten protokoliert per FTP (mit Filezilla), anstatt sie als ZIP-Datei zu übertragen und entpacken.
 
Immer vor der Löschung alter Shop-Daten und der Übertragung neuer Dateien schließe ich den App-Pool und die halte die Website an.

  • MediArt und stefanmueller gefällt das

M.f.G.
E. Kusnezov
www.stahldeko-shop.de
www.stahldeko-shop.com


#6 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3802 Beiträge

Geschrieben: 28 November 2023 - 21:31

Immer vor der Löschung alter Shop-Daten und der Übertragung neuer Dateien schließe ich den App-Pool und die halte die Website an.

 

Kleiner Tipp: der Host/IIS unbindet jede Anfrage an die Anwendung, wenn eine Datei namens app_offline.htm im Root-Verzeichnis der Anwendung liegt und zeigt dann im Browser stattdessen den Inhalt dieser Datei an. Man braucht also bei einem Update nicht an mehreren Schauplätzen tätig zu werden (z.B. IIS-Manager öffnen, App-Pool beenden etc.), sondern lädt per FTP einfach erst die app_offline.htm hoch und dann den Rest. Zum Schluss app_offline.htm wieder löschen (oder umbenennen), damit die Anfragen wieder an die Anwendung gehen.

Marcus Gesing

Smartstore AG


#7 genti11

genti11

    Neuer Benutzer

  • Members
  • 27 Beiträge

Geschrieben: 29 November 2023 - 12:04

Im Backoffice finde ich die Tabellenstatistik nicht unter: System > Systeminformation > Tabellenstatistik 

Mit SQL Studio habe ich gesehen, dass die Tabelle nicht dbo.EmailAccount sondern autotronicdb_usr.EmailAccount lautet.

Was muss ich genau im Schema anpassen?

Angehängte Bilder



#8 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3802 Beiträge

Geschrieben: 29 November 2023 - 16:17

Der Namen des Tabellenschemas muss in dbo umbenannt werden. Aber nicht in der Systemdatenbank wie auf dem angehängten Bild, sondern in den Eigenschaften der EmailAccount-Tabelle der Smartstore-Datenbank. Wie man das macht steht unter dem obigen Link "umbenennen".

Angehängte Bilder


Marcus Gesing

Smartstore AG


#9 genti11

genti11

    Neuer Benutzer

  • Members
  • 27 Beiträge

Geschrieben: 30 November 2023 - 11:29

Besten Dank, ich habe es versucht mit dem ALTER SCHEMA aber ich habe keine Rechte, die DatenBank wurde von Smartstore erstellt.

 

USE autotronicdb;  
GO  
ALTER SCHEMA dbo TRANSFER autotronicdb_usr.EmailAccount;  
GO

 

Cannot find the object 'EmailAccount', because it does not exist or you do not have permission.



#10 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3802 Beiträge

Geschrieben: 30 November 2023 - 20:05

Da wird der Benutzer mit dem Sie am SQL-Server angemeldet sind keine Berechtigung zum Ändern des Tabellen-Schemas haben.
Mal bitte folgendes ausprobieren, wobei für "username" der Name eingetragen werden muss, mit dem Sie am SQL-Server angemeldet sind:
GRANT ALTER ON autotronicdb_usr.EmailAccount TO username;
 
Bei mir war das nicht nötig. Ich bin per Windows-Autentifizierung angemeldet und kann über die Design-Ansicht einer Tabelle deren Schema ändern, ohne Rechteproblem.
 
Der Weg über die Datenbank-Eigenschaften müsste auch funktionieren. Rechtsklick auf die Datenbank -> Properties -> Tab Permissions. Dann für die "Public Database Role" unten das Recht "Alter any schema" explizit gewähren. Man kann das dort auch mit dem angemeldeten User machen. Wenn der unter "Users or roles" nicht aufgeführt ist, dann mal über "Search" nach ihm suchen und hinzufügen.

Marcus Gesing

Smartstore AG


#11 genti11

genti11

    Neuer Benutzer

  • Members
  • 27 Beiträge

Geschrieben: 30 November 2023 - 20:49

GRANT ALTER ON autotronicdb_usr.EmailAccount TO autotronicdb_usr (bei mir ist der Username gleich wie der Name des Schema)

 

Leider ohne Erfolg:

Msg 15151, Level 16, State 1, Line 2
Cannot find the object 'EmailAccount', because it does not exist or you do not have permission.

 

Auch über Datenbank -> Properties -> Tab Permissions habe ich leider keine Rechte um "Alter any schema" zu konfigurieren.

 

 

Angehängte Bilder



#12 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3802 Beiträge

Geschrieben: 30 November 2023 - 21:38

Und wenn man über die Tabellen- anstatt den Datenbankeigenschaften geht? Dort unter Permissions den Benutzer "autotronicdb_usr" hinzufügen und das Recht "Alter" gewähren.


Marcus Gesing

Smartstore AG


#13 genti11

genti11

    Neuer Benutzer

  • Members
  • 27 Beiträge

Geschrieben: 30 November 2023 - 21:50

Hat geklappt, jetzt ist es im Schema dbo: dbo.EmailAccount

Muss ich jetzt alle Tabellen in dem Schema dbo verschieben?



#14 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3802 Beiträge

Geschrieben: 01 December 2023 - 09:43

Es sind alle Tabellen betroffen? Ja, alle die vom Standardschema abweichen. Die Anwendung findet die Tabellen und damit die Daten sonst nicht. Um per SQL alle Tabellenschemas einheitlich zu ändern kann man auch folgendes Skript verwenden. Bitte vor Ausführung zur Sicherheit ein Datenbank-Backup erstellen.
declare @oldSchema nvarchar(50) = 'autotronicdb_usr'
declare @newSchema nvarchar(50) = 'dbo'

declare @sql nvarchar(max) =
(select
  (select N'alter schema [' + @newSchema + '] transfer [' + @oldSchema + '].[' + name + ']' as 'data()'
   from sys.tables
   where schema_name(schema_id) = @oldSchema for xml path(''), type)
 .value('text()[1]','nvarchar(max)'))

-- To select out the results:
select @sql

-- To execute the results directly:
exec (@sql)
PS: alternativ gibt es auch ein Einstellung in appsettings.json (befindet sich Root-Verzeichnis der Anwendung) namens DbDefaultSchema. Standardwert ist null. Trägt man "autotronicdb_usr" ein, wird die Anwendung angewiesen die Datenbank immer mit diesem Schema anzusprechen.

Marcus Gesing

Smartstore AG


#15 genti11

genti11

    Neuer Benutzer

  • Members
  • 27 Beiträge

Geschrieben: 01 December 2023 - 10:09

Hallo Marcus

 

Upgrade auf 5.1 hat jetzt geklappt und schient alles richtig zu funktionieren.

Danke vielmals :-)

 

Gruss Stefano


  • Marcus Gesing und stefanmueller gefällt das