Share via


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)

Syntax

'Declaration
<SfcPropertyAttribute(SfcPropertyFlags.None Or SfcPropertyFlags.Standalone Or SfcPropertyFlags.SqlAzureDatabase)> _
Public ReadOnly Property IsIndexable As Boolean
    Get
'Usage
Dim instance As Table
Dim value As Boolean

value = instance.IsIndexable
[SfcPropertyAttribute(SfcPropertyFlags.None|SfcPropertyFlags.Standalone|SfcPropertyFlags.SqlAzureDatabase)]
public bool IsIndexable { get; }
[SfcPropertyAttribute(SfcPropertyFlags::None|SfcPropertyFlags::Standalone|SfcPropertyFlags::SqlAzureDatabase)]
public:
property bool IsIndexable {
    bool get ();
}
[<SfcPropertyAttribute(SfcPropertyFlags.None|SfcPropertyFlags.Standalone|SfcPropertyFlags.SqlAzureDatabase)>]
member IsIndexable : bool
function get IsIndexable () : boolean

Property Value

Type: System.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).

Remarks

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

Examples

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

C#

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

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("AdventureWorks2008R2")

Foreach ($tb in $db.Tables) 
{
   If ($tb.IsIndexable -eq $TRUE)
   {
      Write-Host "The" $tb.Name "table is indexable."
   }
}