<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: SQL SERVER &#8211; Size of Index Table &#8211; A Puzzle to Find Index Size for Each Index on Table</title>
	<atom:link href="http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/</link>
	<description>SQL, SQL Server, MySQL, Big Data and NoSQL</description>
	<lastBuildDate>Wed, 19 Jun 2013 06:53:59 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: SQL SERVER &#8211; Weekly Series &#8211; Memory Lane &#8211; #004 &#171; SQL Server Journey with SQL Authority</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-379683</link>
		<dc:creator><![CDATA[SQL SERVER &#8211; Weekly Series &#8211; Memory Lane &#8211; #004 &#171; SQL Server Journey with SQL Authority]]></dc:creator>
		<pubDate>Sat, 24 Nov 2012 01:31:28 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-379683</guid>
		<description><![CDATA[[...] Size of Index Table – A Puzzle to Find Index Size for Each Index on Table I asked this puzzle earlier where I asked how to find the Index size for each of the tables. The puzzle was very well received and lots of interesting answers were received. To answer this question I have written following blog posts. I suggest this weekend you try to solve this problem and see if you can come up with a better solution. If not, well here are the solutions. [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Size of Index Table – A Puzzle to Find Index Size for Each Index on Table I asked this puzzle earlier where I asked how to find the Index size for each of the tables. The puzzle was very well received and lots of interesting answers were received. To answer this question I have written following blog posts. I suggest this weekend you try to solve this problem and see if you can come up with a better solution. If not, well here are the solutions. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hank Freeman</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-339359</link>
		<dc:creator><![CDATA[Hank Freeman]]></dc:creator>
		<pubDate>Thu, 30 Aug 2012 20:31:33 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-339359</guid>
		<description><![CDATA[Hank Freeman in Atlanta, GA used Adam Hutson version and likes it, I validated it against Sp_spaceused and the numbers match. So for me this is really good.  Yes, I have modified it some, but the core is all Adam&#039;s work.]]></description>
		<content:encoded><![CDATA[<p>Hank Freeman in Atlanta, GA used Adam Hutson version and likes it, I validated it against Sp_spaceused and the numbers match. So for me this is really good.  Yes, I have modified it some, but the core is all Adam&#8217;s work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SQL SERVER – Interview Questions and Answers – Frequently Asked Questions – Day 19 of 31 Journey to SQLAuthority</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-149241</link>
		<dc:creator><![CDATA[SQL SERVER – Interview Questions and Answers – Frequently Asked Questions – Day 19 of 31 Journey to SQLAuthority]]></dc:creator>
		<pubDate>Tue, 19 Jul 2011 01:30:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-149241</guid>
		<description><![CDATA[[...] (Read more here) [...]]]></description>
		<content:encoded><![CDATA[<p>[...] (Read more here) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SQL SERVER – Size of Index Table for Each Index – Solution 3 – Powershell Journey to SQL Authority with Pinal Dave</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-69984</link>
		<dc:creator><![CDATA[SQL SERVER – Size of Index Table for Each Index – Solution 3 – Powershell Journey to SQL Authority with Pinal Dave]]></dc:creator>
		<pubDate>Mon, 10 May 2010 01:31:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-69984</guid>
		<description><![CDATA[[...] is his solution to my earlier puzzle in his own words. Read the original puzzle here and Laerte&#8217;s solution from [...]]]></description>
		<content:encoded><![CDATA[<p>[...] is his solution to my earlier puzzle in his own words. Read the original puzzle here and Laerte&#8217;s solution from [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SQL SERVER – Size of Index Table for Each Index – Solution 2 Journey to SQL Authority with Pinal Dave</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-69833</link>
		<dc:creator><![CDATA[SQL SERVER – Size of Index Table for Each Index – Solution 2 Journey to SQL Authority with Pinal Dave]]></dc:creator>
		<pubDate>Sun, 09 May 2010 01:31:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-69833</guid>
		<description><![CDATA[[...] puzzle where I asked question regarding size of index table for each index in database over here SQL SERVER – Size of Index Table – A Puzzle to Find Index Size for Each Index on Table. I had received good amount answers and I had blogged about that here SQL SERVER – Size of Index [...]]]></description>
		<content:encoded><![CDATA[<p>[...] puzzle where I asked question regarding size of index table for each index in database over here SQL SERVER – Size of Index Table – A Puzzle to Find Index Size for Each Index on Table. I had received good amount answers and I had blogged about that here SQL SERVER – Size of Index [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adam</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-61977</link>
		<dc:creator><![CDATA[Adam]]></dc:creator>
		<pubDate>Mon, 01 Mar 2010 16:38:38 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-61977</guid>
		<description><![CDATA[Brilliant. I hadn&#039;t known about this.

Cheers,
Adam]]></description>
		<content:encoded><![CDATA[<p>Brilliant. I hadn&#8217;t known about this.</p>
<p>Cheers,<br />
Adam</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SQL SERVER – Size of Index Table for Each Index – Solution Journey to SQL Authority with Pinal Dave</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-57990</link>
		<dc:creator><![CDATA[SQL SERVER – Size of Index Table for Each Index – Solution Journey to SQL Authority with Pinal Dave]]></dc:creator>
		<pubDate>Mon, 30 Nov 2009 01:31:17 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-57990</guid>
		<description><![CDATA[[...] SQL SERVER – Size of Index Table – A Puzzle to Find Index Size for Each Index on Table [...]]]></description>
		<content:encoded><![CDATA[<p>[...] SQL SERVER – Size of Index Table – A Puzzle to Find Index Size for Each Index on Table [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pinaldave</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-57798</link>
		<dc:creator><![CDATA[pinaldave]]></dc:creator>
		<pubDate>Sun, 22 Nov 2009 08:10:01 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-57798</guid>
		<description><![CDATA[Hi ,

So far, this one looks the best. 

Kind Regards,
Pinal Dave]]></description>
		<content:encoded><![CDATA[<p>Hi ,</p>
<p>So far, this one looks the best. </p>
<p>Kind Regards,<br />
Pinal Dave</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pinaldave</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-57797</link>
		<dc:creator><![CDATA[pinaldave]]></dc:creator>
		<pubDate>Sun, 22 Nov 2009 08:07:57 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-57797</guid>
		<description><![CDATA[Hi,

So far, this one looks the best. 

Kind Regards,
Pinal]]></description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>So far, this one looks the best. </p>
<p>Kind Regards,<br />
Pinal</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pinaldave</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-57796</link>
		<dc:creator><![CDATA[pinaldave]]></dc:creator>
		<pubDate>Sun, 22 Nov 2009 08:05:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-57796</guid>
		<description><![CDATA[This is great however there is small issue as user will have to find out the name of the SP.

Kind Regards,
Pinal]]></description>
		<content:encoded><![CDATA[<p>This is great however there is small issue as user will have to find out the name of the SP.</p>
<p>Kind Regards,<br />
Pinal</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pinaldave</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-57795</link>
		<dc:creator><![CDATA[pinaldave]]></dc:creator>
		<pubDate>Sun, 22 Nov 2009 08:04:51 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-57795</guid>
		<description><![CDATA[Hi Ashish,

There is small problem with your script. Would you please look into it. There is incorrect details when I ran your query for table Sales.SalesOrderDetail


Kind Regards,
Pinal]]></description>
		<content:encoded><![CDATA[<p>Hi Ashish,</p>
<p>There is small problem with your script. Would you please look into it. There is incorrect details when I ran your query for table Sales.SalesOrderDetail</p>
<p>Kind Regards,<br />
Pinal</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adam Hutson</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-57774</link>
		<dc:creator><![CDATA[Adam Hutson]]></dc:creator>
		<pubDate>Fri, 20 Nov 2009 14:57:51 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-57774</guid>
		<description><![CDATA[DECLARE 
	@objname nvarchar(776), 
	@id int, 
	@dbname sysname 
	
SELECT 
	@objname = &#039;TableToExamine&#039;,
	@dbname = ISNULL(parsename(@objname, 3),DB_NAME()),
	@id = object_id(@objname)

SELECT 
	i.*,
	CASE 
		WHEN ps.usedpages &gt; ps.pages THEN (ps.usedpages - ps.pages) 
		ELSE 0 
	END * 8 indexsize
FROM sys.indexes i
INNER JOIN (
	SELECT  
		OBJECT_ID,
		index_id,
		SUM (used_page_count) usedpages,
		SUM (
			CASE
				WHEN (index_id &lt; 2) THEN (in_row_data_page_count + lob_used_page_count + row_overflow_used_page_count)
				ELSE lob_used_page_count + row_overflow_used_page_count
			END
		)pages
	FROM sys.dm_db_partition_stats
	WHERE object_id = @id
	GROUP BY object_id, index_id
) ps on i.index_id = ps.index_id
WHERE i.object_id = @id]]></description>
		<content:encoded><![CDATA[<p>DECLARE<br />
	@objname nvarchar(776),<br />
	@id int,<br />
	@dbname sysname </p>
<p>SELECT<br />
	@objname = &#8216;TableToExamine&#8217;,<br />
	@dbname = ISNULL(parsename(@objname, 3),DB_NAME()),<br />
	@id = object_id(@objname)</p>
<p>SELECT<br />
	i.*,<br />
	CASE<br />
		WHEN ps.usedpages &gt; ps.pages THEN (ps.usedpages &#8211; ps.pages)<br />
		ELSE 0<br />
	END * 8 indexsize<br />
FROM sys.indexes i<br />
INNER JOIN (<br />
	SELECT<br />
		OBJECT_ID,<br />
		index_id,<br />
		SUM (used_page_count) usedpages,<br />
		SUM (<br />
			CASE<br />
				WHEN (index_id &lt; 2) THEN (in_row_data_page_count + lob_used_page_count + row_overflow_used_page_count)<br />
				ELSE lob_used_page_count + row_overflow_used_page_count<br />
			END<br />
		)pages<br />
	FROM sys.dm_db_partition_stats<br />
	WHERE object_id = @id<br />
	GROUP BY object_id, index_id<br />
) ps on i.index_id = ps.index_id<br />
WHERE i.object_id = @id</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JungchanHsieh</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-57715</link>
		<dc:creator><![CDATA[JungchanHsieh]]></dc:creator>
		<pubDate>Thu, 19 Nov 2009 00:45:08 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-57715</guid>
		<description><![CDATA[USE AdventureWorks;
GO
EXEC sp_helpindex N&#039;PK_Shift_ShiftID&#039;;
GO


USE AdventureWorks;
GO
EXEC sp_helpindex N&#039;AK_Shift_Name&#039;;
GO

USE AdventureWorks;
GO
EXEC sp_helpindex N&#039;AK_Shift_StartTime_EndTime;
GO]]></description>
		<content:encoded><![CDATA[<p>USE AdventureWorks;<br />
GO<br />
EXEC sp_helpindex N&#8217;PK_Shift_ShiftID&#8217;;<br />
GO</p>
<p>USE AdventureWorks;<br />
GO<br />
EXEC sp_helpindex N&#8217;AK_Shift_Name&#8217;;<br />
GO</p>
<p>USE AdventureWorks;<br />
GO<br />
EXEC sp_helpindex N&#8217;AK_Shift_StartTime_EndTime;<br />
GO</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Malathi</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-57696</link>
		<dc:creator><![CDATA[Malathi]]></dc:creator>
		<pubDate>Wed, 18 Nov 2009 12:54:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-57696</guid>
		<description><![CDATA[Above query is provided by Microsoft as part of their DMV set, upon request.]]></description>
		<content:encoded><![CDATA[<p>Above query is provided by Microsoft as part of their DMV set, upon request.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ashish Gilhotra</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-57687</link>
		<dc:creator><![CDATA[Ashish Gilhotra]]></dc:creator>
		<pubDate>Wed, 18 Nov 2009 05:54:56 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-57687</guid>
		<description><![CDATA[Here it provides same result as we get in if we go in Reports Section of database and select Disk Usage By Partition....

select
    OBJECT_NAME(i.[object_id]) AS Table_Name,
    i.index_id,
    i.name,
    p.partition_number,
    p.rows as [#Records],
    a.total_pages * 8 as [Reserved(kb)],
    a.used_pages * 8 as [Used(kb)]
from
    sys.indexes as i
    inner join
    sys.partitions as p
    on i.object_id = p.object_id
    and i.index_id = p.index_id
    inner join
    sys.allocation_units as a
    on p.partition_id = a.container_id
where
    i.[object_id] = object_id(&#039;HumanResources.Shift&#039;)
    --and i.index_id = 1 -- clustered index
order by
    p.partition_number
go]]></description>
		<content:encoded><![CDATA[<p>Here it provides same result as we get in if we go in Reports Section of database and select Disk Usage By Partition&#8230;.</p>
<p>select<br />
    OBJECT_NAME(i.[object_id]) AS Table_Name,<br />
    i.index_id,<br />
    i.name,<br />
    p.partition_number,<br />
    p.rows as [#Records],<br />
    a.total_pages * 8 as [Reserved(kb)],<br />
    a.used_pages * 8 as [Used(kb)]<br />
from<br />
    sys.indexes as i<br />
    inner join<br />
    sys.partitions as p<br />
    on i.object_id = p.object_id<br />
    and i.index_id = p.index_id<br />
    inner join<br />
    sys.allocation_units as a<br />
    on p.partition_id = a.container_id<br />
where<br />
    i.[object_id] = object_id(&#8216;HumanResources.Shift&#8217;)<br />
    &#8211;and i.index_id = 1 &#8212; clustered index<br />
order by<br />
    p.partition_number<br />
go</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gaurav Sharma</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-57685</link>
		<dc:creator><![CDATA[Gaurav Sharma]]></dc:creator>
		<pubDate>Wed, 18 Nov 2009 05:32:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-57685</guid>
		<description><![CDATA[--Input Table name
DECLARE @OBJECT_NAME VARCHAR(255) = &#039;Project&#039;;

--Create temp table to hold calculated values
DECLARE @temp TABLE 
 (
	indexID  BIGINT,
	objectId  BIGINT,
	index_name  NVARCHAR(MAX),
	used_page_count  BIGINT,
	pages  BIGINT
)

--Insert into temp table						
 INSERT INTO  @temp
 SELECT 
	 P.index_id,   
	 P.object_id,
	 I.name,
	 SUM (used_page_count),  
	 SUM (  
	   CASE  
		WHEN (p.index_id  pages THEN (used_page_count - pages) ELSE 0 END) * 8, 15, 0) + &#039; KB&#039;) INDEX_SIZE
	FROM @temp T]]></description>
		<content:encoded><![CDATA[<p>&#8211;Input Table name<br />
DECLARE @OBJECT_NAME VARCHAR(255) = &#8216;Project&#8217;;</p>
<p>&#8211;Create temp table to hold calculated values<br />
DECLARE @temp TABLE<br />
 (<br />
	indexID  BIGINT,<br />
	objectId  BIGINT,<br />
	index_name  NVARCHAR(MAX),<br />
	used_page_count  BIGINT,<br />
	pages  BIGINT<br />
)</p>
<p>&#8211;Insert into temp table<br />
 INSERT INTO  @temp<br />
 SELECT<br />
	 P.index_id,<br />
	 P.object_id,<br />
	 I.name,<br />
	 SUM (used_page_count),<br />
	 SUM (<br />
	   CASE<br />
		WHEN (p.index_id  pages THEN (used_page_count &#8211; pages) ELSE 0 END) * 8, 15, 0) + &#8216; KB&#8217;) INDEX_SIZE<br />
	FROM @temp T</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom Groszko</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-57683</link>
		<dc:creator><![CDATA[Tom Groszko]]></dc:creator>
		<pubDate>Wed, 18 Nov 2009 02:35:23 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-57683</guid>
		<description><![CDATA[Just about everything you wanted to know about an index, certainly far more that you asked for.

IF EXISTS (SELECT 1 FROM sys.Objects WHERE OBJECT_ID = OBJECT_ID(&#039;MTG.PageCountToKB_MB_GB&#039;) AND TYPE = &#039;FN&#039;)
   DROP FUNCTION MTG.PageCountToKB_MB_GB;
GO
CREATE FUNCTION  MTG.PageCountToKB_MB_GB
(	 @PageCount					BIGINT				 
	,@ConvertTo					CHAR(2)
)
RETURNS DECIMAL(24,2)
AS
--	===================================================================
/*

Permission to use, copy, modify, distribute but not sell this software
and its documentation for any purpose is hereby granted without fee, 
provided that this copyright notice appears in all copies and 
that both the copyright notice and this permission notice appear in 
supporting documentation. 

No representations are made about the suitability of this software 
for any purpose. It is provided &quot;as is&quot; without express or implied warranty.
*/
--	===================================================================
BEGIN
	DECLARE @IncomingBytes		DECIMAL(24,2);
	DECLARE	@KB					DECIMAL(24,4)
	DECLARE @MB					DECIMAL(24,4)
	DECLARE @GB					DECIMAL(24,4)

	SELECT	 @IncomingBytes = @PageCount * 8192 
			,@KB			=	1024
			,@MB			=	1048576
			,@GB			=	1073741824;
	RETURN	CASE	WHEN	@ConvertTo = &#039;KB&#039; THEN @IncomingBytes/@KB
					WHEN	@ConvertTo = &#039;MB&#039; THEN @IncomingBytes/@MB
					WHEN	@ConvertTo = &#039;GB&#039; THEN @IncomingBytes/@GB
					ELSE	0
			END;
END;
GO







DECLARE @DBCompatibilityLevel	TINYINT;
SELECT @DBCompatibilityLevel = compatibility_level 
FROM sys.databases 
WHERE name = &#039;MTGUtility&#039;;





SELECT   schemas.name																		SchemaName	
		,objects.name																		TableName
		,indexes.name																		IndexName
		,indexes.type_desc																	IndexType
		,indexes.is_unique																	is_unique
		,indexes.is_primary_key																is_primary_key
		,indexes.is_unique_constraint														is_unique_constraint
		,indexes.ignore_dup_key																ignore_dup_key
		,indexes.fill_factor																fill_factor
		,indexes.is_padded																	is_padded
		,indexes.is_disabled																is_disabled
		,indexes.is_hypothetical															is_hypothetical
		,indexes.allow_row_locks															allow_row_locks
		,indexes.allow_page_locks															allow_page_locks
		,indexes.has_filter																	has_filter
		,indexes.filter_definition															filter_definition
		,dm_db_partition_stats.partition_number												partition_number
		,dm_db_partition_stats.row_count													row_count
		,MTGUtility.MTG.PageCountToKB_MB_GB
				(dm_db_partition_stats.in_row_data_page_count, &#039;MB&#039;)						DataMB
		,MTGUtility.MTG.PageCountToKB_MB_GB
				(	dm_db_partition_stats.in_row_used_page_count
				+	dm_db_partition_stats.lob_used_page_count
				+	dm_db_partition_stats.row_overflow_used_page_count
					, &#039;MB&#039;)																	DataUsedMB
		,MTGUtility.MTG.PageCountToKB_MB_GB
				(	dm_db_partition_stats.reserved_page_count, &#039;MB&#039;)						DataTotalMB
		,dm_db_index_usage_stats.user_lookups												user_lookups
		,dm_db_index_usage_stats.user_scans													user_scans
		,dm_db_index_usage_stats.user_seeks													user_seeks
		,dm_db_index_usage_stats.user_updates												user_updates
		,dm_db_index_usage_stats.last_user_lookup											last_user_lookup
		,dm_db_index_usage_stats.last_user_scan												last_user_scan
		,dm_db_index_usage_stats.last_user_seek												last_user_seek
		,dm_db_index_usage_stats.last_user_update											last_user_update
		,dm_db_index_usage_stats.system_lookups												system_lookups
		,dm_db_index_usage_stats.system_scans												system_scans
		,dm_db_index_usage_stats.system_seeks												system_seeks
		,dm_db_index_usage_stats.system_updates												system_updates
		,dm_db_index_usage_stats.last_system_lookup											last_system_lookup
		,dm_db_index_usage_stats.last_system_scan											last_system_scan
		,dm_db_index_usage_stats.last_system_seek											last_system_seek
		,dm_db_index_usage_stats.last_system_update											last_system_update
		,column01.name																		Column01
		,ISNULL(column02.name, &#039;&#039;)															Column02
		,ISNULL(column03.name, &#039;&#039;)															Column03
		,ISNULL(column04.name, &#039;&#039;)															Column04
		,ISNULL(column05.name, &#039;&#039;)															Column05
		,ISNULL(column06.name, &#039;&#039;)															Column06
		,ISNULL(column07.name, &#039;&#039;)															Column07
		,ISNULL(column08.name, &#039;&#039;)															Column08
		,ISNULL(column09.name, &#039;&#039;)															Column09
		,ISNULL(column10.name, &#039;&#039;)															Column10
		,ISNULL(column11.name, &#039;&#039;)															Column11
		,ISNULL(column12.name, &#039;&#039;)															Column12
		,ISNULL(column13.name, &#039;&#039;)															Column13
		,ISNULL(column14.name, &#039;&#039;)															Column14
		,ISNULL(column15.name, &#039;&#039;)															Column15
		,ISNULL(column16.name, &#039;&#039;)															Column16	
		,objects.create_date																create_date
		,objects.modify_date																modify_date
		,CASE	WHEN	indexes.has_filter		=	0
					AND	indexes.is_primary_key	=	0
					AND	indexes.is_unique		=	0
					AND column01.is_nullable	=	1
					AND @DBCompatibilityLevel   &gt;	99
					AND ((column02.is_nullable IS NULL) OR (column02.is_nullable = 1))
					AND ((column03.is_nullable IS NULL) OR (column03.is_nullable = 1))
					AND ((column04.is_nullable IS NULL) OR (column04.is_nullable = 1))
					AND ((column05.is_nullable IS NULL) OR (column05.is_nullable = 1))
					AND ((column06.is_nullable IS NULL) OR (column06.is_nullable = 1))
					AND ((column07.is_nullable IS NULL) OR (column07.is_nullable = 1))
					AND ((column08.is_nullable IS NULL) OR (column08.is_nullable = 1))
					AND ((column09.is_nullable IS NULL) OR (column09.is_nullable = 1))
					AND ((column10.is_nullable IS NULL) OR (column10.is_nullable = 1))
					AND ((column11.is_nullable IS NULL) OR (column11.is_nullable = 1))
					AND ((column12.is_nullable IS NULL) OR (column12.is_nullable = 1))
					AND ((column13.is_nullable IS NULL) OR (column13.is_nullable = 1))
					AND ((column14.is_nullable IS NULL) OR (column14.is_nullable = 1))
					AND ((column15.is_nullable IS NULL) OR (column15.is_nullable = 1))
					AND ((column16.is_nullable IS NULL) OR (column16.is_nullable = 1))
				THEN		&#039;SELECT	 COUNT(*)		TotalTableRows&#039;
						+	CHAR(10) +	&#039;		,SUM(CASE	WHEN &#039; + column01.name + &#039; IS NULL&#039;
						+	CASE	WHEN column02.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column02.name + &#039; IS NULL&#039; END
						+	CASE	WHEN column03.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column03.name + &#039; IS NULL&#039; END
						+	CASE	WHEN column04.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column04.name + &#039; IS NULL&#039; END
						+	CASE	WHEN column05.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column05.name + &#039; IS NULL&#039; END
						+	CASE	WHEN column06.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column06.name + &#039; IS NULL&#039; END
						+	CASE	WHEN column07.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column07.name + &#039; IS NULL&#039; END
						+	CASE	WHEN column08.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column08.name + &#039; IS NULL&#039; END
						+	CASE	WHEN column09.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column09.name + &#039; IS NULL&#039; END
						+	CASE	WHEN column10.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column10.name + &#039; IS NULL&#039; END
						+	CASE	WHEN column11.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column11.name + &#039; IS NULL&#039; END
						+	CASE	WHEN column12.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column12.name + &#039; IS NULL&#039; END
						+	CASE	WHEN column13.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column13.name + &#039; IS NULL&#039; END
						+	CASE	WHEN column14.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column14.name + &#039; IS NULL&#039; END
						+	CASE	WHEN column15.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column15.name + &#039; IS NULL&#039; END
						+	CASE	WHEN column16.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column16.name + &#039; IS NULL&#039; END
						+	CHAR(10) +	&#039;		THEN 1&#039;
						+	CHAR(10) +	&#039;		ELSE 0&#039;
						+	CHAR(10) +	&#039;	END)		FilteredRows&#039;
						+	CHAR(10) +	&#039;FROM &#039;
						+	schemas.name
						+	&#039;.&#039;
						+	objects.name						
						+	&#039;;&#039;
						+	CHAR(10)	+	&#039;CREATE NONCLUSTERED INDEX &#039;
						+	indexes.name
						+	&#039; ON &#039;	
						+	schemas.name
						+	&#039;.&#039;
						+	objects.name
						+	CHAR(10)
						+	&#039;(&#039;
						+	CHAR(9)
						+	column01.name
						+	CHAR(9)
						+	&#039;-- MTG INDEX GENERATED ON &#039;
						+	CONVERT(VARCHAR(35), GETDATE(), 121)
						+	CASE	WHEN column02.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;,&#039; + column02.name END
						+	CASE	WHEN column03.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;,&#039; + column03.name END
						+	CASE	WHEN column04.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;,&#039; + column04.name END
						+	CASE	WHEN column05.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;,&#039; + column05.name END
						+	CASE	WHEN column06.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;,&#039; + column06.name END
						+	CASE	WHEN column07.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;,&#039; + column07.name END
						+	CASE	WHEN column08.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;,&#039; + column08.name END
						+	CASE	WHEN column09.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;,&#039; + column09.name END
						+	CASE	WHEN column10.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;,&#039; + column10.name END
						+	CASE	WHEN column11.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;,&#039; + column11.name END
						+	CASE	WHEN column12.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;,&#039; + column12.name END
						+	CASE	WHEN column13.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;,&#039; + column13.name END
						+	CASE	WHEN column14.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;,&#039; + column14.name END
						+	CASE	WHEN column15.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;,&#039; + column15.name END
						+	CASE	WHEN column16.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;,&#039; + column16.name END
						+	CHAR(10) + &#039;)&#039; 
						+	CHAR(10) + CHAR(9) + &#039;WHERE &#039; + column01.name + &#039; IS NOT NULL &#039;
						+	CASE	WHEN column02.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column02.name + &#039; IS NOT NULL&#039; END
						+	CASE	WHEN column03.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column03.name + &#039; IS NOT NULL&#039; END
						+	CASE	WHEN column04.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column04.name + &#039; IS NOT NULL&#039; END
						+	CASE	WHEN column05.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column05.name + &#039; IS NOT NULL&#039; END
						+	CASE	WHEN column06.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column06.name + &#039; IS NOT NULL&#039; END
						+	CASE	WHEN column07.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column07.name + &#039; IS NOT NULL&#039; END
						+	CASE	WHEN column08.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column08.name + &#039; IS NOT NULL&#039; END
						+	CASE	WHEN column09.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column09.name + &#039; IS NOT NULL&#039; END
						+	CASE	WHEN column10.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column10.name + &#039; IS NOT NULL&#039; END
						+	CASE	WHEN column11.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column11.name + &#039; IS NOT NULL&#039; END
						+	CASE	WHEN column12.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column12.name + &#039; IS NOT NULL&#039; END
						+	CASE	WHEN column13.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column13.name + &#039; IS NOT NULL&#039; END
						+	CASE	WHEN column14.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column14.name + &#039; IS NOT NULL&#039; END
						+	CASE	WHEN column15.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column15.name + &#039; IS NOT NULL&#039; END
						+	CASE	WHEN column16.name IS NULL THEN &#039;&#039; ELSE CHAR(10) + CHAR(9) + &#039;  AND &#039; +  column16.name + &#039; IS NOT NULL&#039; END
						+	CHAR(10) + CHAR(9) + &#039;WITH	(	 DROP_EXISTING = ON&#039;
						+	CASE	WHEN indexes.fill_factor &gt; 0	
									THEN	CHAR(10) + CHAR(9) + CHAR(9) +  + CHAR(9) + CHAR(9) + &#039;,FILLFACTOR = &#039; + CAST(indexes.fill_factor AS VARCHAR(3))
									ELSE	&#039;&#039;
							END
						+	CHAR(10) + CHAR(9) + CHAR(9) +  + CHAR(9) + CHAR(9) + &#039;,PAD_INDEX = &#039; + CASE WHEN indexes.is_padded = 1 THEN &#039;ON&#039; ELSE &#039;OFF&#039; END
						+	CHAR(10) + CHAR(9) + &#039;		)&#039;
						+	&#039;;&#039;
						+	CHAR(10) + &#039;GO&#039; 
				ELSE NULL
		 END																				FilteredIndexDDL		
FROM		MTGUtility.sys.indexes					indexes
JOIN		MTGUtility.sys.objects					objects					ON  indexes.object_id				= objects.object_id
																			AND objects.type					= &#039;U&#039;
JOIN		MTGUtility.sys.dm_db_partition_stats	dm_db_partition_stats	ON  indexes.object_id				= dm_db_partition_stats.object_id
																			AND indexes.index_id				= dm_db_partition_stats.index_id
LEFT JOIN	MTGUtility.sys.dm_db_index_usage_stats	dm_db_index_usage_stats ON	indexes.object_id				= dm_db_index_usage_stats.object_id
 																			AND indexes.index_id				= dm_db_index_usage_stats.index_id
 																			AND dm_db_index_usage_stats.database_id = DB_ID()
LEFT JOIN	MTGUtility.sys.schemas					schemas					ON	objects.schema_id				= schemas.schema_id
LEFT JOIN	MTGUtility.sys.index_columns			index_column01			ON	indexes.object_id				= index_column01.object_id
																			AND	indexes.index_id				= index_column01.index_id
																			AND index_column01.index_column_id	= 1
LEFT JOIN	MTGUtility.sys.columns					column01				ON	indexes.object_id				= column01.object_id
																			AND	index_column01.column_id 		= column01.column_id
																 
LEFT JOIN	MTGUtility.sys.index_columns			index_column02			ON	indexes.object_id				= index_column02.object_id
																			AND	indexes.index_id				= index_column02.index_id
																			AND index_column02.index_column_id	= 2
LEFT JOIN	MTGUtility.sys.columns					column02				ON	indexes.object_id				= column02.object_id
																			AND	index_column02.column_id 		= column02.column_id

LEFT JOIN	MTGUtility.sys.index_columns			index_column03			ON	indexes.object_id				= index_column03.object_id
																			AND	indexes.index_id				= index_column03.index_id
																			AND index_column03.index_column_id	= 3
LEFT JOIN	MTGUtility.sys.columns					column03				ON	indexes.object_id				= column03.object_id
																			AND	index_column03.column_id 		= column03.column_id

LEFT JOIN	MTGUtility.sys.index_columns			index_column04			ON	indexes.object_id				= index_column04.object_id
																			AND	indexes.index_id				= index_column04.index_id
																			AND index_column04.index_column_id	= 4
LEFT JOIN	MTGUtility.sys.columns					column04				ON	indexes.object_id				= column04.object_id
																			AND	index_column04.column_id 		= column04.column_id

LEFT JOIN	MTGUtility.sys.index_columns			index_column05			ON	indexes.object_id				= index_column05.object_id
																			AND	indexes.index_id				= index_column05.index_id
																			AND index_column05.index_column_id	= 5
LEFT JOIN	MTGUtility.sys.columns					column05				ON	indexes.object_id				= column05.object_id
																			AND	index_column05.column_id 		= column05.column_id

LEFT JOIN	MTGUtility.sys.index_columns			index_column06			ON	indexes.object_id				= index_column06.object_id
																			AND	indexes.index_id				= index_column06.index_id
																			AND index_column06.index_column_id	= 6
LEFT JOIN	MTGUtility.sys.columns					column06				ON	indexes.object_id				= column06.object_id
																			AND	index_column06.column_id 		= column06.column_id

LEFT JOIN	MTGUtility.sys.index_columns			index_column07			ON	indexes.object_id				= index_column07.object_id
																			AND	indexes.index_id				= index_column07.index_id
																			AND index_column07.index_column_id	= 7
LEFT JOIN	MTGUtility.sys.columns					column07				ON	indexes.object_id				= column07.object_id
																			AND	index_column07.column_id 		= column07.column_id

LEFT JOIN	MTGUtility.sys.index_columns			index_column08			ON	indexes.object_id				= index_column08.object_id
																			AND	indexes.index_id				= index_column08.index_id
																			AND index_column08.index_column_id	= 8
LEFT JOIN	MTGUtility.sys.columns					column08				ON	indexes.object_id				= column08.object_id
																			AND	index_column08.column_id 		= column08.column_id

LEFT JOIN	MTGUtility.sys.index_columns			index_column09			ON	indexes.object_id				= index_column09.object_id
																			AND	indexes.index_id				= index_column09.index_id
																			AND index_column09.index_column_id	= 9
LEFT JOIN	MTGUtility.sys.columns					column09				ON	indexes.object_id				= column09.object_id
																			AND	index_column09.column_id 		= column09.column_id

LEFT JOIN	MTGUtility.sys.index_columns			index_column10			ON	indexes.object_id				= index_column10.object_id
																			AND	indexes.index_id				= index_column10.index_id
																			AND index_column10.index_column_id	= 10
LEFT JOIN	MTGUtility.sys.columns					column10				ON	indexes.object_id				= column10.object_id
																			AND	index_column10.column_id 		= column10.column_id

LEFT JOIN	MTGUtility.sys.index_columns			index_column11			ON	indexes.object_id				= index_column11.object_id
																			AND	indexes.index_id				= index_column11.index_id
																			AND index_column11.index_column_id	= 11
LEFT JOIN	MTGUtility.sys.columns					column11				ON	indexes.object_id				= column11.object_id
																			AND	index_column11.column_id 		= column11.column_id

LEFT JOIN	MTGUtility.sys.index_columns			index_column12			ON	indexes.object_id				= index_column12.object_id
																			AND	indexes.index_id				= index_column12.index_id
																			AND index_column12.index_column_id	= 12
LEFT JOIN	MTGUtility.sys.columns					column12				ON	indexes.object_id				= column12.object_id
																			AND	index_column12.column_id 		= column12.column_id

LEFT JOIN	MTGUtility.sys.index_columns			index_column13			ON	indexes.object_id				= index_column13.object_id
																			AND	indexes.index_id				= index_column13.index_id
																			AND index_column13.index_column_id	= 13
LEFT JOIN	MTGUtility.sys.columns					column13				ON	indexes.object_id				= column13.object_id
																			AND	index_column13.column_id 		= column13.column_id

LEFT JOIN	MTGUtility.sys.index_columns			index_column14			ON	indexes.object_id				= index_column14.object_id
																			AND	indexes.index_id				= index_column14.index_id
																			AND index_column14.index_column_id	= 14
LEFT JOIN	MTGUtility.sys.columns					column14				ON	indexes.object_id				= column14.object_id
																			AND	index_column14.column_id 		= column14.column_id

LEFT JOIN	MTGUtility.sys.index_columns			index_column15			ON	indexes.object_id				= index_column15.object_id
																			AND	indexes.index_id				= index_column15.index_id
																			AND index_column15.index_column_id	= 15
LEFT JOIN	MTGUtility.sys.columns					column15				ON	indexes.object_id				= column15.object_id
																			AND	index_column15.column_id 		= column15.column_id

LEFT JOIN	MTGUtility.sys.index_columns			index_column16			ON	indexes.object_id				= index_column16.object_id
																			AND	indexes.index_id				= index_column16.index_id
																			AND index_column16.index_column_id	= 16
LEFT JOIN	MTGUtility.sys.columns					column16				ON	indexes.object_id				= column16.object_id
																			AND	index_column16.column_id 		= column16.column_id
ORDER BY	 schemas.name				ASC
			,objects.name				ASC
			,column01.name				ASC
			,ISNULL(column02.name, &#039;&#039;)	ASC
			,ISNULL(column03.name, &#039;&#039;)	ASC
			,ISNULL(column04.name, &#039;&#039;)	ASC
			,ISNULL(column05.name, &#039;&#039;)	ASC
			,ISNULL(column06.name, &#039;&#039;)	ASC
			,ISNULL(column07.name, &#039;&#039;)	ASC
			,ISNULL(column08.name, &#039;&#039;)	ASC
			,ISNULL(column09.name, &#039;&#039;)	ASC
			,ISNULL(column10.name, &#039;&#039;)	ASC
			,ISNULL(column11.name, &#039;&#039;)	ASC
			,ISNULL(column12.name, &#039;&#039;)	ASC
			,ISNULL(column13.name, &#039;&#039;)	ASC
			,ISNULL(column14.name, &#039;&#039;)	ASC
			,ISNULL(column15.name, &#039;&#039;)	ASC
			,ISNULL(column16.name, &#039;&#039;)	ASC
			,indexes.name 				ASC;]]></description>
		<content:encoded><![CDATA[<p>Just about everything you wanted to know about an index, certainly far more that you asked for.</p>
<p>IF EXISTS (SELECT 1 FROM sys.Objects WHERE OBJECT_ID = OBJECT_ID(&#8216;MTG.PageCountToKB_MB_GB&#8217;) AND TYPE = &#8216;FN&#8217;)<br />
   DROP FUNCTION MTG.PageCountToKB_MB_GB;<br />
GO<br />
CREATE FUNCTION  MTG.PageCountToKB_MB_GB<br />
(	 @PageCount					BIGINT<br />
	,@ConvertTo					CHAR(2)<br />
)<br />
RETURNS DECIMAL(24,2)<br />
AS<br />
&#8211;	===================================================================<br />
/*</p>
<p>Permission to use, copy, modify, distribute but not sell this software<br />
and its documentation for any purpose is hereby granted without fee,<br />
provided that this copyright notice appears in all copies and<br />
that both the copyright notice and this permission notice appear in<br />
supporting documentation. </p>
<p>No representations are made about the suitability of this software<br />
for any purpose. It is provided &#8220;as is&#8221; without express or implied warranty.<br />
*/<br />
&#8211;	===================================================================<br />
BEGIN<br />
	DECLARE @IncomingBytes		DECIMAL(24,2);<br />
	DECLARE	@KB					DECIMAL(24,4)<br />
	DECLARE @MB					DECIMAL(24,4)<br />
	DECLARE @GB					DECIMAL(24,4)</p>
<p>	SELECT	 @IncomingBytes = @PageCount * 8192<br />
			,@KB			=	1024<br />
			,@MB			=	1048576<br />
			,@GB			=	1073741824;<br />
	RETURN	CASE	WHEN	@ConvertTo = &#8216;KB&#8217; THEN @IncomingBytes/@KB<br />
					WHEN	@ConvertTo = &#8216;MB&#8217; THEN @IncomingBytes/@MB<br />
					WHEN	@ConvertTo = &#8216;GB&#8217; THEN @IncomingBytes/@GB<br />
					ELSE	0<br />
			END;<br />
END;<br />
GO</p>
<p>DECLARE @DBCompatibilityLevel	TINYINT;<br />
SELECT @DBCompatibilityLevel = compatibility_level<br />
FROM sys.databases<br />
WHERE name = &#8216;MTGUtility&#8217;;</p>
<p>SELECT   schemas.name																		SchemaName<br />
		,objects.name																		TableName<br />
		,indexes.name																		IndexName<br />
		,indexes.type_desc																	IndexType<br />
		,indexes.is_unique																	is_unique<br />
		,indexes.is_primary_key																is_primary_key<br />
		,indexes.is_unique_constraint														is_unique_constraint<br />
		,indexes.ignore_dup_key																ignore_dup_key<br />
		,indexes.fill_factor																fill_factor<br />
		,indexes.is_padded																	is_padded<br />
		,indexes.is_disabled																is_disabled<br />
		,indexes.is_hypothetical															is_hypothetical<br />
		,indexes.allow_row_locks															allow_row_locks<br />
		,indexes.allow_page_locks															allow_page_locks<br />
		,indexes.has_filter																	has_filter<br />
		,indexes.filter_definition															filter_definition<br />
		,dm_db_partition_stats.partition_number												partition_number<br />
		,dm_db_partition_stats.row_count													row_count<br />
		,MTGUtility.MTG.PageCountToKB_MB_GB<br />
				(dm_db_partition_stats.in_row_data_page_count, &#8216;MB&#8217;)						DataMB<br />
		,MTGUtility.MTG.PageCountToKB_MB_GB<br />
				(	dm_db_partition_stats.in_row_used_page_count<br />
				+	dm_db_partition_stats.lob_used_page_count<br />
				+	dm_db_partition_stats.row_overflow_used_page_count<br />
					, &#8216;MB&#8217;)																	DataUsedMB<br />
		,MTGUtility.MTG.PageCountToKB_MB_GB<br />
				(	dm_db_partition_stats.reserved_page_count, &#8216;MB&#8217;)						DataTotalMB<br />
		,dm_db_index_usage_stats.user_lookups												user_lookups<br />
		,dm_db_index_usage_stats.user_scans													user_scans<br />
		,dm_db_index_usage_stats.user_seeks													user_seeks<br />
		,dm_db_index_usage_stats.user_updates												user_updates<br />
		,dm_db_index_usage_stats.last_user_lookup											last_user_lookup<br />
		,dm_db_index_usage_stats.last_user_scan												last_user_scan<br />
		,dm_db_index_usage_stats.last_user_seek												last_user_seek<br />
		,dm_db_index_usage_stats.last_user_update											last_user_update<br />
		,dm_db_index_usage_stats.system_lookups												system_lookups<br />
		,dm_db_index_usage_stats.system_scans												system_scans<br />
		,dm_db_index_usage_stats.system_seeks												system_seeks<br />
		,dm_db_index_usage_stats.system_updates												system_updates<br />
		,dm_db_index_usage_stats.last_system_lookup											last_system_lookup<br />
		,dm_db_index_usage_stats.last_system_scan											last_system_scan<br />
		,dm_db_index_usage_stats.last_system_seek											last_system_seek<br />
		,dm_db_index_usage_stats.last_system_update											last_system_update<br />
		,column01.name																		Column01<br />
		,ISNULL(column02.name, &#8221;)															Column02<br />
		,ISNULL(column03.name, &#8221;)															Column03<br />
		,ISNULL(column04.name, &#8221;)															Column04<br />
		,ISNULL(column05.name, &#8221;)															Column05<br />
		,ISNULL(column06.name, &#8221;)															Column06<br />
		,ISNULL(column07.name, &#8221;)															Column07<br />
		,ISNULL(column08.name, &#8221;)															Column08<br />
		,ISNULL(column09.name, &#8221;)															Column09<br />
		,ISNULL(column10.name, &#8221;)															Column10<br />
		,ISNULL(column11.name, &#8221;)															Column11<br />
		,ISNULL(column12.name, &#8221;)															Column12<br />
		,ISNULL(column13.name, &#8221;)															Column13<br />
		,ISNULL(column14.name, &#8221;)															Column14<br />
		,ISNULL(column15.name, &#8221;)															Column15<br />
		,ISNULL(column16.name, &#8221;)															Column16<br />
		,objects.create_date																create_date<br />
		,objects.modify_date																modify_date<br />
		,CASE	WHEN	indexes.has_filter		=	0<br />
					AND	indexes.is_primary_key	=	0<br />
					AND	indexes.is_unique		=	0<br />
					AND column01.is_nullable	=	1<br />
					AND @DBCompatibilityLevel   &gt;	99<br />
					AND ((column02.is_nullable IS NULL) OR (column02.is_nullable = 1))<br />
					AND ((column03.is_nullable IS NULL) OR (column03.is_nullable = 1))<br />
					AND ((column04.is_nullable IS NULL) OR (column04.is_nullable = 1))<br />
					AND ((column05.is_nullable IS NULL) OR (column05.is_nullable = 1))<br />
					AND ((column06.is_nullable IS NULL) OR (column06.is_nullable = 1))<br />
					AND ((column07.is_nullable IS NULL) OR (column07.is_nullable = 1))<br />
					AND ((column08.is_nullable IS NULL) OR (column08.is_nullable = 1))<br />
					AND ((column09.is_nullable IS NULL) OR (column09.is_nullable = 1))<br />
					AND ((column10.is_nullable IS NULL) OR (column10.is_nullable = 1))<br />
					AND ((column11.is_nullable IS NULL) OR (column11.is_nullable = 1))<br />
					AND ((column12.is_nullable IS NULL) OR (column12.is_nullable = 1))<br />
					AND ((column13.is_nullable IS NULL) OR (column13.is_nullable = 1))<br />
					AND ((column14.is_nullable IS NULL) OR (column14.is_nullable = 1))<br />
					AND ((column15.is_nullable IS NULL) OR (column15.is_nullable = 1))<br />
					AND ((column16.is_nullable IS NULL) OR (column16.is_nullable = 1))<br />
				THEN		&#8216;SELECT	 COUNT(*)		TotalTableRows&#8217;<br />
						+	CHAR(10) +	&#8216;		,SUM(CASE	WHEN &#8216; + column01.name + &#8216; IS NULL&#8217;<br />
						+	CASE	WHEN column02.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column02.name + &#8216; IS NULL&#8217; END<br />
						+	CASE	WHEN column03.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column03.name + &#8216; IS NULL&#8217; END<br />
						+	CASE	WHEN column04.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column04.name + &#8216; IS NULL&#8217; END<br />
						+	CASE	WHEN column05.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column05.name + &#8216; IS NULL&#8217; END<br />
						+	CASE	WHEN column06.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column06.name + &#8216; IS NULL&#8217; END<br />
						+	CASE	WHEN column07.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column07.name + &#8216; IS NULL&#8217; END<br />
						+	CASE	WHEN column08.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column08.name + &#8216; IS NULL&#8217; END<br />
						+	CASE	WHEN column09.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column09.name + &#8216; IS NULL&#8217; END<br />
						+	CASE	WHEN column10.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column10.name + &#8216; IS NULL&#8217; END<br />
						+	CASE	WHEN column11.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column11.name + &#8216; IS NULL&#8217; END<br />
						+	CASE	WHEN column12.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column12.name + &#8216; IS NULL&#8217; END<br />
						+	CASE	WHEN column13.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column13.name + &#8216; IS NULL&#8217; END<br />
						+	CASE	WHEN column14.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column14.name + &#8216; IS NULL&#8217; END<br />
						+	CASE	WHEN column15.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column15.name + &#8216; IS NULL&#8217; END<br />
						+	CASE	WHEN column16.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column16.name + &#8216; IS NULL&#8217; END<br />
						+	CHAR(10) +	&#8216;		THEN 1&#8242;<br />
						+	CHAR(10) +	&#8216;		ELSE 0&#8242;<br />
						+	CHAR(10) +	&#8216;	END)		FilteredRows&#8217;<br />
						+	CHAR(10) +	&#8216;FROM &#8216;<br />
						+	schemas.name<br />
						+	&#8216;.&#8217;<br />
						+	objects.name<br />
						+	&#8216;;&#8217;<br />
						+	CHAR(10)	+	&#8216;CREATE NONCLUSTERED INDEX &#8216;<br />
						+	indexes.name<br />
						+	&#8216; ON &#8216;<br />
						+	schemas.name<br />
						+	&#8216;.&#8217;<br />
						+	objects.name<br />
						+	CHAR(10)<br />
						+	&#8216;(&#8216;<br />
						+	CHAR(9)<br />
						+	column01.name<br />
						+	CHAR(9)<br />
						+	&#8216;&#8211; MTG INDEX GENERATED ON &#8216;<br />
						+	CONVERT(VARCHAR(35), GETDATE(), 121)<br />
						+	CASE	WHEN column02.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;,&#8217; + column02.name END<br />
						+	CASE	WHEN column03.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;,&#8217; + column03.name END<br />
						+	CASE	WHEN column04.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;,&#8217; + column04.name END<br />
						+	CASE	WHEN column05.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;,&#8217; + column05.name END<br />
						+	CASE	WHEN column06.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;,&#8217; + column06.name END<br />
						+	CASE	WHEN column07.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;,&#8217; + column07.name END<br />
						+	CASE	WHEN column08.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;,&#8217; + column08.name END<br />
						+	CASE	WHEN column09.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;,&#8217; + column09.name END<br />
						+	CASE	WHEN column10.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;,&#8217; + column10.name END<br />
						+	CASE	WHEN column11.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;,&#8217; + column11.name END<br />
						+	CASE	WHEN column12.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;,&#8217; + column12.name END<br />
						+	CASE	WHEN column13.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;,&#8217; + column13.name END<br />
						+	CASE	WHEN column14.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;,&#8217; + column14.name END<br />
						+	CASE	WHEN column15.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;,&#8217; + column15.name END<br />
						+	CASE	WHEN column16.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;,&#8217; + column16.name END<br />
						+	CHAR(10) + &#8216;)&#8217;<br />
						+	CHAR(10) + CHAR(9) + &#8216;WHERE &#8216; + column01.name + &#8216; IS NOT NULL &#8216;<br />
						+	CASE	WHEN column02.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column02.name + &#8216; IS NOT NULL&#8217; END<br />
						+	CASE	WHEN column03.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column03.name + &#8216; IS NOT NULL&#8217; END<br />
						+	CASE	WHEN column04.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column04.name + &#8216; IS NOT NULL&#8217; END<br />
						+	CASE	WHEN column05.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column05.name + &#8216; IS NOT NULL&#8217; END<br />
						+	CASE	WHEN column06.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column06.name + &#8216; IS NOT NULL&#8217; END<br />
						+	CASE	WHEN column07.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column07.name + &#8216; IS NOT NULL&#8217; END<br />
						+	CASE	WHEN column08.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column08.name + &#8216; IS NOT NULL&#8217; END<br />
						+	CASE	WHEN column09.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column09.name + &#8216; IS NOT NULL&#8217; END<br />
						+	CASE	WHEN column10.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column10.name + &#8216; IS NOT NULL&#8217; END<br />
						+	CASE	WHEN column11.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column11.name + &#8216; IS NOT NULL&#8217; END<br />
						+	CASE	WHEN column12.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column12.name + &#8216; IS NOT NULL&#8217; END<br />
						+	CASE	WHEN column13.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column13.name + &#8216; IS NOT NULL&#8217; END<br />
						+	CASE	WHEN column14.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column14.name + &#8216; IS NOT NULL&#8217; END<br />
						+	CASE	WHEN column15.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column15.name + &#8216; IS NOT NULL&#8217; END<br />
						+	CASE	WHEN column16.name IS NULL THEN &#8221; ELSE CHAR(10) + CHAR(9) + &#8216;  AND &#8216; +  column16.name + &#8216; IS NOT NULL&#8217; END<br />
						+	CHAR(10) + CHAR(9) + &#8216;WITH	(	 DROP_EXISTING = ON&#8217;<br />
						+	CASE	WHEN indexes.fill_factor &gt; 0<br />
									THEN	CHAR(10) + CHAR(9) + CHAR(9) +  + CHAR(9) + CHAR(9) + &#8216;,FILLFACTOR = &#8216; + CAST(indexes.fill_factor AS VARCHAR(3))<br />
									ELSE	&#8221;<br />
							END<br />
						+	CHAR(10) + CHAR(9) + CHAR(9) +  + CHAR(9) + CHAR(9) + &#8216;,PAD_INDEX = &#8216; + CASE WHEN indexes.is_padded = 1 THEN &#8216;ON&#8217; ELSE &#8216;OFF&#8217; END<br />
						+	CHAR(10) + CHAR(9) + &#8216;		)&#8217;<br />
						+	&#8216;;&#8217;<br />
						+	CHAR(10) + &#8216;GO&#8217;<br />
				ELSE NULL<br />
		 END																				FilteredIndexDDL<br />
FROM		MTGUtility.sys.indexes					indexes<br />
JOIN		MTGUtility.sys.objects					objects					ON  indexes.object_id				= objects.object_id<br />
																			AND objects.type					= &#8216;U&#8217;<br />
JOIN		MTGUtility.sys.dm_db_partition_stats	dm_db_partition_stats	ON  indexes.object_id				= dm_db_partition_stats.object_id<br />
																			AND indexes.index_id				= dm_db_partition_stats.index_id<br />
LEFT JOIN	MTGUtility.sys.dm_db_index_usage_stats	dm_db_index_usage_stats ON	indexes.object_id				= dm_db_index_usage_stats.object_id<br />
 																			AND indexes.index_id				= dm_db_index_usage_stats.index_id<br />
 																			AND dm_db_index_usage_stats.database_id = DB_ID()<br />
LEFT JOIN	MTGUtility.sys.schemas					schemas					ON	objects.schema_id				= schemas.schema_id<br />
LEFT JOIN	MTGUtility.sys.index_columns			index_column01			ON	indexes.object_id				= index_column01.object_id<br />
																			AND	indexes.index_id				= index_column01.index_id<br />
																			AND index_column01.index_column_id	= 1<br />
LEFT JOIN	MTGUtility.sys.columns					column01				ON	indexes.object_id				= column01.object_id<br />
																			AND	index_column01.column_id 		= column01.column_id</p>
<p>LEFT JOIN	MTGUtility.sys.index_columns			index_column02			ON	indexes.object_id				= index_column02.object_id<br />
																			AND	indexes.index_id				= index_column02.index_id<br />
																			AND index_column02.index_column_id	= 2<br />
LEFT JOIN	MTGUtility.sys.columns					column02				ON	indexes.object_id				= column02.object_id<br />
																			AND	index_column02.column_id 		= column02.column_id</p>
<p>LEFT JOIN	MTGUtility.sys.index_columns			index_column03			ON	indexes.object_id				= index_column03.object_id<br />
																			AND	indexes.index_id				= index_column03.index_id<br />
																			AND index_column03.index_column_id	= 3<br />
LEFT JOIN	MTGUtility.sys.columns					column03				ON	indexes.object_id				= column03.object_id<br />
																			AND	index_column03.column_id 		= column03.column_id</p>
<p>LEFT JOIN	MTGUtility.sys.index_columns			index_column04			ON	indexes.object_id				= index_column04.object_id<br />
																			AND	indexes.index_id				= index_column04.index_id<br />
																			AND index_column04.index_column_id	= 4<br />
LEFT JOIN	MTGUtility.sys.columns					column04				ON	indexes.object_id				= column04.object_id<br />
																			AND	index_column04.column_id 		= column04.column_id</p>
<p>LEFT JOIN	MTGUtility.sys.index_columns			index_column05			ON	indexes.object_id				= index_column05.object_id<br />
																			AND	indexes.index_id				= index_column05.index_id<br />
																			AND index_column05.index_column_id	= 5<br />
LEFT JOIN	MTGUtility.sys.columns					column05				ON	indexes.object_id				= column05.object_id<br />
																			AND	index_column05.column_id 		= column05.column_id</p>
<p>LEFT JOIN	MTGUtility.sys.index_columns			index_column06			ON	indexes.object_id				= index_column06.object_id<br />
																			AND	indexes.index_id				= index_column06.index_id<br />
																			AND index_column06.index_column_id	= 6<br />
LEFT JOIN	MTGUtility.sys.columns					column06				ON	indexes.object_id				= column06.object_id<br />
																			AND	index_column06.column_id 		= column06.column_id</p>
<p>LEFT JOIN	MTGUtility.sys.index_columns			index_column07			ON	indexes.object_id				= index_column07.object_id<br />
																			AND	indexes.index_id				= index_column07.index_id<br />
																			AND index_column07.index_column_id	= 7<br />
LEFT JOIN	MTGUtility.sys.columns					column07				ON	indexes.object_id				= column07.object_id<br />
																			AND	index_column07.column_id 		= column07.column_id</p>
<p>LEFT JOIN	MTGUtility.sys.index_columns			index_column08			ON	indexes.object_id				= index_column08.object_id<br />
																			AND	indexes.index_id				= index_column08.index_id<br />
																			AND index_column08.index_column_id	= 8<br />
LEFT JOIN	MTGUtility.sys.columns					column08				ON	indexes.object_id				= column08.object_id<br />
																			AND	index_column08.column_id 		= column08.column_id</p>
<p>LEFT JOIN	MTGUtility.sys.index_columns			index_column09			ON	indexes.object_id				= index_column09.object_id<br />
																			AND	indexes.index_id				= index_column09.index_id<br />
																			AND index_column09.index_column_id	= 9<br />
LEFT JOIN	MTGUtility.sys.columns					column09				ON	indexes.object_id				= column09.object_id<br />
																			AND	index_column09.column_id 		= column09.column_id</p>
<p>LEFT JOIN	MTGUtility.sys.index_columns			index_column10			ON	indexes.object_id				= index_column10.object_id<br />
																			AND	indexes.index_id				= index_column10.index_id<br />
																			AND index_column10.index_column_id	= 10<br />
LEFT JOIN	MTGUtility.sys.columns					column10				ON	indexes.object_id				= column10.object_id<br />
																			AND	index_column10.column_id 		= column10.column_id</p>
<p>LEFT JOIN	MTGUtility.sys.index_columns			index_column11			ON	indexes.object_id				= index_column11.object_id<br />
																			AND	indexes.index_id				= index_column11.index_id<br />
																			AND index_column11.index_column_id	= 11<br />
LEFT JOIN	MTGUtility.sys.columns					column11				ON	indexes.object_id				= column11.object_id<br />
																			AND	index_column11.column_id 		= column11.column_id</p>
<p>LEFT JOIN	MTGUtility.sys.index_columns			index_column12			ON	indexes.object_id				= index_column12.object_id<br />
																			AND	indexes.index_id				= index_column12.index_id<br />
																			AND index_column12.index_column_id	= 12<br />
LEFT JOIN	MTGUtility.sys.columns					column12				ON	indexes.object_id				= column12.object_id<br />
																			AND	index_column12.column_id 		= column12.column_id</p>
<p>LEFT JOIN	MTGUtility.sys.index_columns			index_column13			ON	indexes.object_id				= index_column13.object_id<br />
																			AND	indexes.index_id				= index_column13.index_id<br />
																			AND index_column13.index_column_id	= 13<br />
LEFT JOIN	MTGUtility.sys.columns					column13				ON	indexes.object_id				= column13.object_id<br />
																			AND	index_column13.column_id 		= column13.column_id</p>
<p>LEFT JOIN	MTGUtility.sys.index_columns			index_column14			ON	indexes.object_id				= index_column14.object_id<br />
																			AND	indexes.index_id				= index_column14.index_id<br />
																			AND index_column14.index_column_id	= 14<br />
LEFT JOIN	MTGUtility.sys.columns					column14				ON	indexes.object_id				= column14.object_id<br />
																			AND	index_column14.column_id 		= column14.column_id</p>
<p>LEFT JOIN	MTGUtility.sys.index_columns			index_column15			ON	indexes.object_id				= index_column15.object_id<br />
																			AND	indexes.index_id				= index_column15.index_id<br />
																			AND index_column15.index_column_id	= 15<br />
LEFT JOIN	MTGUtility.sys.columns					column15				ON	indexes.object_id				= column15.object_id<br />
																			AND	index_column15.column_id 		= column15.column_id</p>
<p>LEFT JOIN	MTGUtility.sys.index_columns			index_column16			ON	indexes.object_id				= index_column16.object_id<br />
																			AND	indexes.index_id				= index_column16.index_id<br />
																			AND index_column16.index_column_id	= 16<br />
LEFT JOIN	MTGUtility.sys.columns					column16				ON	indexes.object_id				= column16.object_id<br />
																			AND	index_column16.column_id 		= column16.column_id<br />
ORDER BY	 schemas.name				ASC<br />
			,objects.name				ASC<br />
			,column01.name				ASC<br />
			,ISNULL(column02.name, &#8221;)	ASC<br />
			,ISNULL(column03.name, &#8221;)	ASC<br />
			,ISNULL(column04.name, &#8221;)	ASC<br />
			,ISNULL(column05.name, &#8221;)	ASC<br />
			,ISNULL(column06.name, &#8221;)	ASC<br />
			,ISNULL(column07.name, &#8221;)	ASC<br />
			,ISNULL(column08.name, &#8221;)	ASC<br />
			,ISNULL(column09.name, &#8221;)	ASC<br />
			,ISNULL(column10.name, &#8221;)	ASC<br />
			,ISNULL(column11.name, &#8221;)	ASC<br />
			,ISNULL(column12.name, &#8221;)	ASC<br />
			,ISNULL(column13.name, &#8221;)	ASC<br />
			,ISNULL(column14.name, &#8221;)	ASC<br />
			,ISNULL(column15.name, &#8221;)	ASC<br />
			,ISNULL(column16.name, &#8221;)	ASC<br />
			,indexes.name 				ASC;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Malathi</title>
		<link>http://blog.sqlauthority.com/2009/11/18/sql-server-size-of-index-table-a-puzzle-to-find-index-size-for-each-index-on-table/#comment-57681</link>
		<dc:creator><![CDATA[Malathi]]></dc:creator>
		<pubDate>Wed, 18 Nov 2009 02:00:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=7388#comment-57681</guid>
		<description><![CDATA[Hi Pinal, there is an undocumented stored proc called sp_MSIndexSpace  that will list size of indexes. However this wil not include XML indexes. To include all there is a very long query that Microsoft supplies on their list of useful DMVs, the main DMV they use is sys.dm_db_partition_stats.  I will cut and paste the query tomorrow, am not taking credit for it as it is pre written!

Malathi]]></description>
		<content:encoded><![CDATA[<p>Hi Pinal, there is an undocumented stored proc called sp_MSIndexSpace  that will list size of indexes. However this wil not include XML indexes. To include all there is a very long query that Microsoft supplies on their list of useful DMVs, the main DMV they use is sys.dm_db_partition_stats.  I will cut and paste the query tomorrow, am not taking credit for it as it is pre written!</p>
<p>Malathi</p>
]]></content:encoded>
	</item>
</channel>
</rss>
