Bei der Aktualisierung der Datenbank in Microsoft Dynamics SL: "Fehler 91: Objekt referenziert nicht festlegen an einer Instanz von An Objekt"


Problembeschreibung


Das folgende Szenario in Microsoft Dynamics SL-Datenbankwartung:

  • Sie öffnen Sie das Fenster Wartung (98.290.00) und wählen Sie die Registerkarte Update-Datenbanken .
  • Wählen im Feld Datenbankname System Microsoft Dynamics SL-Systemdatenbank zu wählen Sie alle Microsoft Dynamics SL Anwendungsdatenbanken im Datenbanken .
  • Das entsprechende Update-Szenario auswählen im Szenarien aktualisieren .
  • Sie klicken Sie auf Verarbeitung beginnen.
In diesem Szenario wird die folgende Fehlermeldung angezeigt:

Fehler 91: Verweist auf Objekt nicht auf eine Objektinstanz festgelegt

Ursache


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

Außerdem tritt dieses Problem auf, wenn ein Datensatz in der Tabelle Domäne für eine Datenbank vorhanden ist, die nicht in der Databases-Auflistung befindet, da die Datenbank nicht wiederhergestellt wurde.

Problemlösung


Zum Beheben dieses Problems löschen Sie ungültigen Datensatz aus der Tabelle Domäne Microsoft Dynamics SL-Systemdatenbank mit SQL Server Management Studio Gehen Sie hierzu folgendermaßen vor:

Hinweis Vergewissern Sie befolgen Sie die Anleitung in diesem Artikel, dass Sie eine vollständige Sicherungskopie der Datenbank, die Sie wiederherstellen können verfügen, falls ein Problem auftritt.


  1. Mithilfe von Query Analyzer oder SQL Server Management Studio, Zugriff auf die entsprechende Datenbank und führen Sie folgende Anweisung zur Identifikation des Datensatzes mit dem ungültigen Datenbanknamen:

    SELECT DATABASENAME, * from DOMAIN
  2. Überprüfen Sie die Ergebnisse für die Datenbanknamen, die nicht mehr vorhanden oder, derzeit nicht aktualisiert werden.
  3. Bestätigen Sie, dass dieser Eintrag ungültig ist, und führen Sie die folgende Anweisung zum Löschen dieses Datensatzes:

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