When I'm working with a SQL Server database, I often need a simple list of all the indexes that are already in place. I want it in a concise form. In our free SDU Tools for developers and DBAs, we added a procedure ListIndexes to do just that, and to provide their details in a form that's easy to consume programmatically if you need that.
You can see how to execute it in the main image above. The procedure takes these parameters:
@DatabaseName sysname – This is the database to process
@SchemasToList nvarchar(max) – a comma-delimited list of schemas to include (ie: 'Sales,Purchasing') or the word 'ALL'
@TablesToList nvarchar(max)- a comma-delimited list of tables to include (ie: 'Customers,Orders') or the word 'ALL'
One row is returned for each index.
The columns returned are SchemaName, TableName, IndexName, KeyColumnList, and IncludedColumnList as shown below:
You can see it in action here:
To become an SDU Insider and to get our free tools and eBooks, please just visit here:
Learn about indexing
Want to learn more about indexes? Take our online on-demand course now: https://training.sqldownunder.com/p/sql-server-indexing-for-developers