I know this is a very old topic, but I have recently discovered something important to the resolution of it.
I have manually flushed out tblSNMPAssetMac repeatedly, and keep getting wrong pc's identified on our switches, even with a complete rescan.
I ended up doing a mac / asset name comparison between three tables: tblSNMPAssetMac, tblAssetMacAddress, and tbAssets
Here's the cross-reference I did:
Select Top 1000000 tblAssets.AssetUnique,
tblAssets.IPAddress,
tblAssets.AssetName,
tblSNMPAssetMac.AssetMacAddress As [Reported Mac],
tblAssetMacAddress.Mac As [Actual MAC],
tblSNMPAssetMac.SNMPMacID,
tblSNMPAssetMac.Lastchanged
From tblSNMPAssetMac
Inner Join tblAssets On tblSNMPAssetMac.AssetMacAddress = tblAssets.Mac
Inner Join tblAssetMacAddress
On tblAssets.AssetID = tblAssetMacAddress.AssetID
I discovered that tblAssetMacAddress had multiple devices listed with the same MAC address, which did not belong to any of the devices listed. This was causing the SNMP scan to map to the first device in the list with bad MAC addresses.
By purging BOTH tblAssetMacAddress, and tblSNMPAssetMac, and then rescanning all assets I was able to get a clean and accurate snmp mapping on my switches for the first time in 2+ years.
In SQLCE, under Configuration -> Database Scripts:
Run
Delete * from tblAssetMacAddress
Delete * from tblSNMPAssetMac
Rescan all assets.