Fehler "Objektverweise nicht auf eine instance eines Objekts festgelegt" während des Datenbankupgrades in Microsoft Dynamics SL

Dieser Artikel bietet eine Lösung für einen Fehler, der beim Datenbankupgrade in Microsoft Dynamics SL auftritt.

Gilt für: Microsoft Dynamics SL
Ursprüngliche KB-Nummer: 2405736

Problembeschreibung

Betrachten Sie das folgende Szenario unter Datenbankwartung in Microsoft Dynamics SL:

  • Sie öffnen den Bildschirm Datenbankwartung (98.290.00) und wählen dann die Registerkarte Datenbanken aktualisieren aus.
  • Wählen Sie die Microsoft Dynamics SL-Systemdatenbank im Feld Systemdatenbankname und dann alle zugehörigen Microsoft Dynamics SL-Anwendungsdatenbanken im Feld Datenbanken aus.
  • Wählen Sie im Feld Updateszenarien das entsprechende Updateszenario aus.
  • Wählen Sie Verarbeitung beginnen aus.

In diesem Szenario wird die folgende Fehlermeldung angezeigt:

Fehler 91: Objekt, auf das verwiesen wird, ist nicht auf eine instance eines Objekts festgelegt.

Ursache

Dieses Problem tritt auf, wenn in der Tabelle Domäne der Microsoft Dynamics SL-Systemdatenbank ein Datensatz vorhanden ist, der auf einen nicht mehr vorhandenen Datenbanknamen verweist.

Darüber hinaus tritt dieses Problem auf, wenn in der Tabelle Domäne für eine Datenbank ein Datensatz vorhanden ist, der nicht in der Datenbankauflistung gefunden wird, da die Datenbank nicht wiederhergestellt wurde.

Lösung

Um dieses Problem zu beheben, löschen Sie den ungültigen Datensatz mithilfe von SQL Server Management Studio aus der Tabelle Domäne in der Microsoft Dynamics SL-Systemdatenbank. Führen Sie dazu die folgenden Schritte aus.

Hinweis

Bevor Sie die Anweisungen in diesem Artikel befolgen, stellen Sie sicher, dass Sie über eine vollständige Sicherungskopie der Datenbank verfügen, die Sie wiederherstellen können, wenn ein Problem auftritt.

  1. Greifen Sie mithilfe der Abfrageanalyse oder SQL Server Management Studio auf die entsprechende Systemdatenbank zu, und führen Sie dann die folgende Anweisung aus, um den Datensatz mit dem ungültigen Datenbanknamen zu identifizieren:

    SELECT DATABASENAME, * from DOMAIN
    
  2. Überprüfen Sie die Ergebnisse auf Datenbanknamen, die nicht mehr vorhanden sind oder die derzeit nicht aktualisiert werden.

  3. Vergewissern Sie sich, dass dieser Datensatz ungültig ist, und führen Sie dann die folgende Anweisung aus, um diesen Datensatz zu löschen:

    DELETE from DOMAIN where DatabaseName = 'XXXXXXXX' 
    --(replace XXXXXXXX with the invalid Database Name)