Hay muchos problemas aquí. Estás construyendo cadenas SQL. ¡No hagas esto! ¡Use parámetros SQL en su lugar! Está repitiendo una gran cantidad de código de manera innecesaria. Está usando tablas de datos, que evitaría, al menos en PowerShell. No está reutilizando la conexión de la base de datos.
Siempre trate de evitar bucles con una consulta interna cuando trabaje con SQL. Intente y piense si puede reescribir el SQL en su lugar.
Prueba este SQL:
SELECT
col2,
COUNT(<thePrimaryKeyColumnOfTheTable>)
FROM [master].[sys].[table_name]
GROUP BY col2
Eso debería darte la cuenta de todos los diferentes valores de col2.