Seite 1 von 1

Tabellenzeilen aus Benutzerdefinierten Tabellen löschen

Verfasst: Mo Jun 06, 2016 11:10 am
von Kschi
Hallo,

es gibt ja dieses Script 'Suche SNMP Geräte'. Wenn man dieses zum ersten mal ausführt, wird eine eigenständige Tabelle erzeugt. In der Abfrage zu diesem Erfasssungsscript sehe ich dann den Inhalt der Tabelle.

Es kann bei einem weiteren Scan vorkommen, dass Geräte doppelt erfasst werden. Nun möchte ich gerne in der Ergebnisabfrage die Möglichkeit haben, ein oder mehrere Tabellenzeilen zu löschen, wie es z.B. in den Clients möglich ist.
Kann man das irgendwo einstellen?

Karsten

Re: Tabellenzeilen aus Benutzerdefinierten Tabellen löschen

Verfasst: Mo Jun 06, 2016 2:41 pm
von twahl
Hallo Karsten,

das Markieren und damit auch Löschen von Datensätzen aus der ACMP Console heraus ist nur bei Abfragen möglich, die (ACMP) Clients als Basis haben.
Daher gibt es keine einfache Möglichkeit dies für beliebige Tabellen zu aktivieren.

In dem Client Command, mit dem nach SNMP Geräten gesucht werden kann, gibt es noch die Möglichkeit die Tabelle vor dem Scan zu leeren.
Dies würde doppelte Einträge verhindern, ist aber vermutlich nicht gewünscht.

Also gibt es nur die Möglichkeit über die Datenbank bzw über Client Commands Einträge aus der erstellten Tabelle "CUST_SNMP_Devices" zu löschen.
In der Tabelle gibt es keinen Primärschlüssel, Einträge können also nur über die Felder [Description], [IPAddress], [Location], [Services] und [Name] adressiert werden.

Hier ein Beispiel-SQL mit dem mehrfach vorkommende Einträge gelöscht würden:
%SNMP2% ist hier die ACMP Variable aus dem ursprünglichen Client Command.

DECLARE @anzahl INT= (select count(Name) from [CUST_SNMP_Devices]
WHERE Description = '%SNMP2%'
group by name)

delete top ((@anzahl-1))
FROM [CUST_SNMP_Devices]
WHERE Description = '%SNMP2%'

Alternativ wäre es auch möglich das Client Command dahingehend anzupassen, dass zuerst auf bereits eingetragene Geräte geprüft wird und dann ein Update statt ein Insert gemacht wird.