Export (0) Print
Expand All
Expand Minimize

Table.IsIndexable Property

Gets the Boolean property value that specifies whether an index can be placed on the table.

Namespace:  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)

[SfcPropertyAttribute(SfcPropertyFlags.None|SfcPropertyFlags.Standalone|SfcPropertyFlags.SqlAzureDatabase|SfcPropertyFlags.Matrix)]
public bool IsIndexable { get; }

Property Value

Type: Boolean
A Boolean value that specifies whether an index can be placed on the table.If True, an index can be placed on the table. Otherwise, False (default).

Most tables can support an index. However, some that cannot support an index because of the nature of the data.

The following code example shows how to list all of the indexable tables in the AdventureWorks2012 database.

C#

Server srv = new Server("(local)");
Database db = srv.Databases["AdventureWorks2012"];

foreach (Table tb in db.Tables) 
{
   if (tb.IsIndexable == True)
   {
      Console.WriteLine("The " + tb.Name + " table is indexable.");
   }
}

Powershell

$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database
$db = $srv.Databases.Item("AdventureWorks2012")

Foreach ($tb in $db.Tables) 
{
   If ($tb.IsIndexable -eq $TRUE)
   {
      Write-Host "The" $tb.Name "table is indexable."
   }
}
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft