Biml Language Reference
TableIndex Element
AstTableIndexNode corresponds directly to a SQL Server relational database index.
  Attribute API Type Default Description
Clustered Boolean
This value specifies whether the index is clustered. A clustered index is physically laid out on disc with all columns of the rows of the table.

[.NET API Property: Clustered]

CompressionType TableCompressionType
This value specifies what kind of compression the index uses.

[.NET API Property: CompressionType]

DropExisting Boolean
When DropExisting is specified, the index creation removes any existing indexes with the same name before creating the new index. Unspecified properties in the new index are inherited from the dropped index. Without this option, an attempt to create a second index with the same name would result in an error.

[.NET API Property: DropExisting]

FillFactor Int32
This value specifies what percentage of each index page the database engine should fill when creating or rebuilding the index.

[.NET API Property: FillFactor]

IgnoreDupKey Boolean
This value specifies whether incoming rows that have a duplicate index value should produce a warning (and continue) or an error (and terminate). This property applies only for indexes where the value of Unique is True. It is useful for enabling large bulk inserts to complete when duplicate rows exist.

[.NET API Property: IgnoreDupKey]

Name String
Specifies the name of the object. This name can be used to reference this object from anywhere else in the program.

[.NET API Property: Name]

Online Boolean
This value specifies whether the index remains online and accessible while index operations are being performed.

[.NET API Property: Online]

PadIndex Boolean
This value determines whether each intermediate level of the index is padded with extra open space in each page.

[.NET API Property: PadIndex]

PartitionColumnName AstTableColumnBaseNode
Defines the column used by the partition scheme.

[.NET API Property: PartitionColumn]

PartitionSchemeName AstPartitionSchemeNode
Defines the partition scheme used to partition this index.

[.NET API Property: PartitionScheme]

SortInTempdb Boolean
This value determines whether the configured temporary database should be used for storing the index.

[.NET API Property: SortInTempDB]

Unique Boolean
This value specifies whether each index value is unique. When the value is True, no two rows have the same values across all of the columns participating in the index.

[.NET API Property: Unique]

Singleton Children
  Child API Type Description
<FileGroup /> AstDatabaseFileGroupResourceNode
Specifies the file group within which this index should be created.

[.NET API Property: FileGroup]

<ExternalFileGroup /> AstExternalDatabaseFileGroupResourceNode
<FilterPredicate /> String
Specifies the T-SQL predicate expression that should be used to include/exclude rows from a filtered index.

[.NET API Property: FilterPredicate]

Collection Children
  Child API Type Description
    <Annotation />
This is a collection of annotation items that can be used to specify documentation, tags, or other information. Annotations are particularly useful for storing information about nodes that can be used by BimlScript code.

[.NET API Property: Annotations]

    <Column />
This is a container for index column reference definitions.

[.NET API Property: Columns]

    <Include />
This is a container for index include column reference definitions.

[.NET API Property: Includes]