• You can capture plans using extended events (or trace, but I wouldn't suggest trace since it's filtering mechanism is so weak and capturing execution plans is so expensive), but be sure you put good filters in place to only capture for the query you're currently interested in. Capturing execution plans in this way can be expensive in terms of load on the system.

    Other than that, yeah, query the cache. All plans stored there are technically what are known as "estimated" plans. Just know that an estimated plan is simply an actual plan without a few runtime metrics. They're effectively the same. Also know that querying the cache you may not find all queries run on the system. They can age out of cache, or, some queries are never stored in cache (for example, a query with OPTION RECOMPILE).

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning