Problem
In einigen LOGINventory-Datenbanken können sich im Katalog (Tabelle dbo.AssetModel) doppelte Einträge
ansammeln. Betroffen sind Hardware-Produkte (Monitore, Laufwerke, Docking Stations u.a.), die mit identischem Name, Manufacturer und Family mehrfach vorhanden sind.
Ursache
In LOGINventory-Versionen vor 2026.1 konnte es vorkommen, dass beim Erstellen von Peripheriegeräten (Monitore,
Laufwerke, Docking Stations) der bestehende Katalog nicht vollständig geladen wurde, bevor ein neuer Eintrag
angelegt wurde. Dadurch wurde bei jedem erneutem Erzeugen ein neues Hardware-Produkt im Katalog erstellt, anstatt das bereits vorhandene wiederzuverwenden.
Zusätzlich fehlte im Asset Editor eine Prüfung auf bereits existierende Katalogeinträge, wenn ein Benutzer manuell ein neues Modell anlegte.
Auswirkung
- Der Katalog enthält zahlreiche Duplikate mit identischem Name, Hersteller und Familie
- Die Funktionalität von LOGINventory ist nicht beeinträchtigt, jedoch ist der Katalog unnötig aufgebläht
Lösung
Das Problem wurde in der aktuellen Version behoben. Bereits vorhandene Duplikate müssen einmalig über ein SQL-Script bereinigt werden.
Vor der Ausführung
- Erstellen Sie ein Backup der LOGINventory-Datenbank!
- Das Script muss auf dem SQL Server ausgeführt werden, auf dem die LOGINventory-Datenbank liegt (z.B. über
SQL Server Management Studio)
Was das Script tut
1. Identifiziert Duplikate in dbo.AssetModel anhand von Name, Manufacturer und Family
2. Behält pro Duplikat-Gruppe den ältesten Eintrag (kleinste Id) als "Keeper"
3. Biegt alle Verweise (AssetModelInfo, HardwareProductInfo) auf den Keeper um
4. Löscht die überflüssigen Duplikate
Dabei werden Einträge mit verknüpften Dokumenten und welche mit gesetzten Eigenen Eigenschaften nicht entfernt.
Ausführung
1. Öffnen Sie SQL Server Management Studio und verbinden Sie sich mit dem Datenbankserver
2. Öffnen Sie das angehängte Script Cleanup_AssetModel_Duplicates.sql
3. Stellen Sie sicher, dass die richtige Datenbank ausgewählt ist (z.B. über USE [IhreDatenbank];)
4. Führen Sie das Script aus
5. Prüfen Sie die Ausgabe im Messages-Fenster:
- Die Anzahl der gefundenen Duplikat-Gruppen wird angezeigt
- Für jeden Schritt wird die Anzahl betroffener Einträge ausgegeben
- Am Ende wird geprüft, ob noch Duplikate vorhanden sind (sollte leer sein - mit Ausnahme von Einträgen, die entweder Verknüpfte Dokumente oder Eigene Eigenschaften besitzen)
6. Das Script führt aus Sicherheitsgründen erstmal einen ROLLBACK der Daten durch damit Sie bedenkenlos erstmal die Ergebnisse prüfen können.
-- ============================================================================ -- WICHTIG: Ergebnis pruefen, dann COMMIT -- ============================================================================ -- COMMIT TRANSACTION; ROLLBACK TRANSACTION;
7. Nach Sichtung und Überprüfung der Daten können Sie die Anweisung "ROLLBACK TRANSACTION" auskommentieren, die Anweisung "COMMIT TRANSACTION" einkommentieren und das Skript einfach nochmal laufen lassen.