Check for duplicates in your indices

Check for duplicates in your indices
This little piece of Biml will check all your tables for indices sharing the same columns.
It does not generate any SSIS tasks etc. but might be a good starting point to build your own Index-Monitoring or Index-Clinic – because Biml is NOT just for SSIS 🙂
Dieser kleine Codeblock prüft alle Tabellen auf Indexe, welche die gleichen Spalten beinhalten.
Er generiert keine SSIS Pakete oder ähnliches, könnte aber ein guter Startpunkt für ein Index-Monitoring sein – denn Biml kann NICHT nur SSIS!
 <Biml xmlns="http://schemas.varigence.com/biml.xsd">
	    <Connections>
        	<OleDbConnection Name="Target" ConnectionString="Data Source=.;initial catalog=MyBiml_IndexCheck;provider=SQLNCLI11;integrated security=SSPI"></OleDbConnection>
		</Connections>		 
</Biml>
 
<#@ template language="VB" tier="2" #>
<Biml xmlns="http://schemas.varigence.com/biml.xsd"/>
<# for each t as asttablenode in Rootnode.connections("Target").GetDatabaseSchema.tablenodes.where(function(c) c.indexes.count > 1) 
            Dim visitedList As  New List (Of AstTableIndexNode)
           For Each idx As AstTableIndexNode In t.indexes 
                                    If Not visitedList.Contains(idx)  Then
                                    visitedList.Add(idx)
                                    For Each CompareIdx As AstTableIndexNode In t.indexes.where(Function(c) Not visitedList.Contains(c) and c.Columns.orderby(function(o) o.Column.name).getbiml= idx.Columns.orderby(function(o) o.Column.name).getbiml ) 
                                               visitedList.Add(CompareIdx)#>                              
                                                           <!-- Table: <#= t.name #> / <#= idx.name #> and <#= CompareIdx.name #> reference the same columns -->
                                               <#        Next
                                    End If
                        Next  
            next #>

Any questions or comments? We’d love to hear from you at biml@solisyon.de!

Further Information on Biml in English can be found on our English Biml Page.

Happy Biml’ing!

Haben Sie hierzu Fragen oder Anmerkungen? Wir freuen uns auf Ihren Input unter biml@solisyon.de!

Weitere Informationen zu Biml, einschließlich Terminen und Blog Beiträgen finden Sie auch auf unserer Biml Seite.

Viel Spaß beim Biml’n!

Facebook