Er zijn hier veel problemen. Je bouwt SQL-strings. Doe dit niet! Gebruik in plaats daarvan SQL-parameters! U herhaalt onnodig veel code. U gebruikt gegevenstabellen, die ik zou vermijden, in ieder geval in powershell. U gebruikt de databaseverbinding niet opnieuw.
Probeer altijd heel hard om loops met een query erin te vermijden wanneer u met SQL werkt. Probeer eens na of je in plaats daarvan de SQL kunt herschrijven.
Probeer deze SQL:
SELECT
col2,
COUNT(<thePrimaryKeyColumnOfTheTable>)
FROM [master].[sys].[table_name]
GROUP BY col2
Dat zou je de telling van alle verschillende waarden van col2 moeten geven.