Hall of Fame
Comments posted to this topic are about the item The Ultimate Table Searcher
Great article. It (along with other "Searcher" articles by Jesse) addresses one of the biggest problems faced by developers as to how to search metadata. One issue that I see here is that it is only for SQL Server 2005+ and will fail in SQL 2000 as it makes use of sys.schemas table which is introduced in SQL 2005.
I would also recommend readers to try out search functionality in Omega.MSSQL (http://omega.cerebrata.com/r=SSCC63929), a browser based SQL server explorer developed by my company. Essentially you can search for keywords in tables (including columns, keys, triggers, indexes), views, stored procedures and all other objects just by using a browser based interface.
Do check it out.
Another great article.
You could make one little add to this - return the number of Indicies for the table by adding
COUNT( index_id ) As Indicies,
to your inner join where you create partitions.
Here is my ammended code to list all tables alphabetically:
SELECT sys.objects.name AS TableName,
partitions.Rows, partitions.SizeMB, partitions.Indicies, partitions.SizeMBIndexes, sys.schemas.name AS owner, sys.objects.object_id
INNER JOIN sys.schemas ON sys.objects.schema_id=sys.schemas.schema_id
INNER JOIN (
SELECT object_id, SUM(row_count) AS Rows, count( index_id) As Indicies,
CONVERT(numeric(19,3), CONVERT(numeric(19,3), SUM(CASE WHEN index_id BETWEEN 0 AND 1 THEN in_row_reserved_page_count+lob_reserved_page_count+row_overflow_reserved_page_count ELSE 0 END))/CONVERT(numeric(19,3), 128)) AS SizeMB,
CONVERT(numeric(19,3), CONVERT(numeric(19,3), SUM(CASE WHEN index_id>1 THEN in_row_reserved_page_count+lob_reserved_page_count+row_overflow_reserved_page_count ELSE 0 END))/CONVERT(numeric(19,3), 128)) AS SizeMBIndexes
GROUP BY object_id
) AS partitions ON sys.objects.object_id=partitions.object_id
ORDER BY sys.objects.name
Hall of Fame
I submitted 'The Ultimate Table Searcher Mk2' that adds PartitionCount, IndexCount, ColumnCount, TotalMaxColumnLength, HasPrimaryKey, and HasClusteredIndex.
Good Deal - did you fix my mistake - count( index_id) As Indicies should be (COUNT( index_id ) - 1 ) As Indicies.
Nice change to the program.
Thanks for the script. You've got a lot.
Viewing 7 posts - 1 through 6 (of 6 total)