How do I know an index is used for any queries?
Be careful - if you have usage statistics recently reset or you have an index which is so rarely used its usage statistics was cleared long ago - this solution is useless for your scenario and can cause problems.

Make use of sys.dm_db_index_usage_stats

SELECT
   OBJECT_NAME(object_id) TableName,
   (SELECT name FROM sys.indexes Indices WHERE Indices.object_id =
       IndexStats.object_id and Indices.index_id = IndexStats.index_id) IndexName,
   *
FROM sys.dm_db_index_usage_stats IndexStats;


This outputs all indices that recently done any actions to - scans, lookups, seeks and updates. This won't list indices for some idle tables which are not accessed for weeks.

With this output you can look at each index recent usage. If you see that it only has updates then it wasn't used for anything else recently. This likely indicates it can be deleted.