Index Class

Definition

Instance class encapsulating : Server[@Name='']/Database/Table/Index

[Microsoft.SqlServer.Management.Facets.EvaluationMode(Microsoft.SqlServer.Management.Dmf.AutomatedPolicyEvaluationMode.CheckOnSchedule)]
[Microsoft.SqlServer.Management.Sdk.Sfc.PhysicalFacet]
public sealed class Index : Microsoft.SqlServer.Management.Smo.ScriptNameObjectBase, Microsoft.SqlServer.Management.Common.IAlterable, Microsoft.SqlServer.Management.Common.ICreatable, Microsoft.SqlServer.Management.Common.IDropIfExists, Microsoft.SqlServer.Management.Common.IDroppable, Microsoft.SqlServer.Management.Common.IMarkForDrop, Microsoft.SqlServer.Management.Common.IRenamable, Microsoft.SqlServer.Management.Sdk.Sfc.ISfcSupportsDesignMode, Microsoft.SqlServer.Management.Smo.IExtendedProperties, Microsoft.SqlServer.Management.Smo.IScriptable
[<Microsoft.SqlServer.Management.Facets.EvaluationMode(Microsoft.SqlServer.Management.Dmf.AutomatedPolicyEvaluationMode.CheckOnSchedule)>]
[<Microsoft.SqlServer.Management.Sdk.Sfc.PhysicalFacet>]
type Index = class
    inherit ScriptNameObjectBase
    interface ISfcSupportsDesignMode
    interface ICreatable
    interface IDroppable
    interface IDropIfExists
    interface IMarkForDrop
    interface IAlterable
    interface IRenamable
    interface IExtendedProperties
    interface IScriptable
[<Microsoft.SqlServer.Management.Facets.EvaluationMode(Microsoft.SqlServer.Management.Dmf.AutomatedPolicyEvaluationMode.CheckOnSchedule)>]
[<Microsoft.SqlServer.Management.Sdk.Sfc.PhysicalFacet>]
type Index = class
    inherit ScriptNameObjectBase
    interface ICreatable
    interface IDroppable
    interface IDropIfExists
    interface IMarkForDrop
    interface IAlterable
    interface IRenamable
    interface IExtendedProperties
    interface IScriptable
    interface ISfcSupportsDesignMode
Public NotInheritable Class Index
Inherits ScriptNameObjectBase
Implements IAlterable, ICreatable, IDropIfExists, IDroppable, IExtendedProperties, IMarkForDrop, IRenamable, IScriptable, ISfcSupportsDesignMode
Inheritance
Attributes
Implements

Constructors

Index()
Index(SqlSmoObject, String)

Fields

m_ExtendedProperties (Inherited from SqlSmoObject)
singletonParent

Regular SMO objects access the parent class reference through parentColl (corresponding collection in parent class). Singleton class has no collection in parent.

(Inherited from SqlSmoObject)

Properties

BoundingBoxXMax
BoundingBoxXMin
BoundingBoxYMax
BoundingBoxYMin
BucketCount
CellsPerObject
CompactLargeObjects

Compact LOB data, such as text, image, varchar(MAX), nvarchar(MAX) and varbinary.

CompressAllRowGroups

Compress open row groups (delta stores) as well.

CompressionDelay

Compression Delay valid only for columnstore indexes.

DatabaseEngineEdition

Returns the DatabaseEngineEdition of the SMO object

(Inherited from SqlSmoObject)
DatabaseEngineType

Returns the DatabaseEngineType of the SMO object

(Inherited from SqlSmoObject)
DisallowPageLocks
DisallowRowLocks
DropExistingIndex

Whether to drop and rebuild the existing clustered or nonclustered index with modified column specifications and keep the same name for the index. The default is false.

Events
ExecuteForScalar (Inherited from SqlSmoObject)
ExecutionManager (Inherited from SqlSmoObject)
ExtendedProperties
FileGroup
FileStreamFileGroup
FileStreamPartitionScheme
FillFactor
FilterDefinition
HasCompressedPartitions
HasFilter
HasSparseColumn
ID
IgnoreDuplicateKeys
IndexedColumns
IndexedXmlPathName
IndexedXmlPathNamespaces

Collection of IndexedXMLPath objects that represent all the paths that are indexed by the Selective XML Index.

IndexedXmlPaths

Collection of IndexedXMLPath objects that represent all the paths that are indexed by the Selective XML Index.

IndexKeyType
IndexType
IsClustered
IsDisabled
IsFileTableDefined
IsFullTextKey
IsIndexOnComputed

The IsOnComputed property indicates whether any column in an index is a computed column.

IsIndexOnTable

The IndexOnTable property specifies whether an index is defined for a table or a view.

IsMemoryOptimized
IsOnlineRebuildSupported

Returns a value indicating whether the index supports online rebuild

IsOptimizedForSequentialKey
IsPartitioned
IsSpatialIndex
IsSystemNamed
IsSystemObject
IsTouched

Whether the object has been touched for unconditional scripting of Alter

(Inherited from SqlSmoObject)
IsUnique
IsXmlIndex
Level1Grid
Level2Grid
Level3Grid
Level4Grid
LowPriorityAbortAfterWait

Gets or sets the ABORT_AFTER_WAIT action for the WAIT_AT_LOW_PRIORITY option of the DDL operation.

LowPriorityMaxDuration

Gets or sets the MAX_DURATION for the WAIT_AT_LOW_PRIORITY option of the DDL operation.

MaximumDegreeOfParallelism

Set the maximum number of processors involved in the index operation. The system default is used if not set.

Name
NoAutomaticRecomputation
ObjectInSpace (Inherited from SqlSmoObject)
OnlineIndexOperation

Specifies that the index that is created or modified will be kept online during the operation, allowing access to the underlying data structures.

PadIndex
Parent
ParentCollection

Returns the collection that contains the object. May be null.

(Inherited from SqlSmoObject)
ParentXmlIndex
PartitionScheme
PartitionSchemeParameters

Specifies the columns that define the input parameters for the Partition Scheme.

PhysicalPartitions
Properties (Inherited from SqlSmoObject)
ResumableIndexOperation

Sepcifies whether the index is resumable. The resumable index can be resume/abort if it is paused during the rebuild operation.

ResumableMaxDuration

Gets or sets the MAX_DURATION for the resumable operation option of the DDL operation.

ResumableOperationState
ScalarResult (Inherited from SqlSmoObject)
SecondaryXmlIndexType
ServerVersion

Returns the ServerVersion of the Server that contains the object. If the object is not associated with a connected Server, the highest known server version is returned.

(Inherited from SqlSmoObject)
SortInTempdb

Specifies that the intermediate sort results used to build the index will be stored in the tempdb database.

SpaceUsed
SpatialIndexType
State

Returns the state of the object

(Inherited from SmoObjectBase)
Urn

Returns the Urn of the object, computed on the fly

(Inherited from SqlSmoObject)
UrnSuffix

Returns the name of the type in the urn expression

UserData (Inherited from SmoObjectBase)

Methods

Abort()

Abort the resumable index that is in the PAUSED status.

AddDatabaseContext(StringCollection)

method get called from the create script related method (from derived classes like Table, Index etc..)

(Inherited from SqlSmoObject)
Alter()

Changes the index based on supplied index properties

Alter(IndexOperation)

Performs an index operation using the current property settings of the object.

AlterAllIndexes()

Changes all indexes based on supplied index properties.

AlterImpl() (Inherited from SqlSmoObject)
AlterImplWorker() (Inherited from SqlSmoObject)
AppendCommaText(StringBuilder, String, Boolean, String) (Inherited from ScriptNameObjectBase)
AppendWithCommaText(StringBuilder, String, Boolean) (Inherited from ScriptNameObjectBase)
AppendWithOption(StringBuilder, String, String, Boolean) (Inherited from ScriptNameObjectBase)
AutoGenerateName() (Inherited from ScriptNameObjectBase)
BindDefaultImpl(String, String, Boolean) (Inherited from SqlSmoObject)
BindRuleImpl(String, String, Boolean) (Inherited from SqlSmoObject)
CheckIndex()

Tests the integrity of database pages implementing storage for the referenced index.

CheckIndexWithResult()

Tests the integrity of database pages that store data for the referenced index.

CheckObjectDirty()

If there are some properties which are respected in special cases then use this function. currently applicable for DatabaseDdltriggers

(Inherited from ScriptNameObjectBase)
CheckObjectState() (Inherited from SqlSmoObject)
CheckObjectState(Boolean)

This is a virtual function, so that derived classes can override it if they want to do additional checks on the state of the object

(Inherited from SqlSmoObject)
CheckObjectStateImpl(Boolean)

Checks object state Because it is not recusrive, this function can be called directly and which means derived classes can't supply their own validation

(Inherited from SqlSmoObject)
CheckTextCorrectness(String, Boolean, Boolean, Boolean, String[], DdlTextParserHeaderInfo)

checks text syntax, that it manipulates the right type of object ( PROC, TRIGGER, etc )

(Inherited from ScriptNameObjectBase)
CheckTextCorrectness(String, Boolean, Boolean, String[], DdlTextParserHeaderInfo)

checks text syntax, that it manipulates the right type of object ( PROC, TRIGGER, etc )

(Inherited from ScriptNameObjectBase)
CheckTextModeSupport() (Inherited from ScriptNameObjectBase)
CleanObject() (Inherited from ScriptNameObjectBase)
Create()
CreateImpl() (Inherited from SqlSmoObject)
CreateOrAlterImpl() (Inherited from SqlSmoObject)
Disable()

Disables the index.

Discover()

Best Effort Discovery mechanism : This method reflects upon metadata and gets all available objects

(Inherited from SqlSmoObject)
Drop()
DropAndMove(String)

Drops a clustered index and moves the underlying table data to the specified File Group.

DropAndMove(String, StringCollection)

Drops a clustered index and moves the underlying table data to the partition scheme with the parameters specified with partitionSchemeParameters.

DropIfExists()

Drops the object with IF EXISTS option. If object is invalid for drop function will return without exception.

DropImpl(Boolean)

drops the object

(Inherited from SqlSmoObject)
DropImpl(Boolean, Boolean)

For drop calls on the user database in Azure, the connection will be closed as the database is dropped The ExecutionManager will normally attempt to retry such calls by reopening the connection We want to avoid this retry when handleSevereError is true.

(Inherited from SqlSmoObject)
DropImplWorker(Urn, Boolean)

drops the object

(Inherited from SqlSmoObject)
Enable(IndexEnableAction)

Enables the index. The action argument specifies how enable the index. It is possible to call Create() or Rebuild() instead, to enable the index.

EnumFragmentation()
EnumFragmentation(FragmentationOption)
EnumFragmentation(FragmentationOption, Int32)
EnumStatistics()

The EnumStatistics method returns a DataSet object that enumerates index statistics used to support Microsoft® SQL Server™ 2000 query optimization

ExecuteNonQuery(StringCollection, Boolean, Boolean)

Executes sql statements

(Inherited from SqlSmoObject)
ExecuteRenameQuery(String)

Creates the Rename query for a SqlSmoObject and Executes it on the Server.

(Inherited from NamedSmoObject)
ExecuteWithModes(SqlExecutionModes, Action)

Executes the given action under the given execution modes.

Resets the original modes after the action completes or fails.

(Inherited from SqlSmoObject)
ForceTextModeOnTextBody() (Inherited from ScriptNameObjectBase)
FormatSqlVariant(Object) (Inherited from SqlSmoObject)
GenerateAlterEvent() (Inherited from SqlSmoObject)
GenerateAlterEvent(Urn, Object) (Inherited from SqlSmoObject)
GetBraketNameForText() (Inherited from ScriptNameObjectBase)
GetContextDB() (Inherited from SqlSmoObject)
GetDBName() (Inherited from SqlSmoObject)
GetDisabledProperties(ScriptingPreferences)

Provides an enumerable of properties that are explicitly disabled for specific server types or editions. This is not a list of all properties that don't work for the specified target.

(Inherited from SqlSmoObject)
GetFragOptionString(FragmentationOption) (Inherited from SqlSmoObject)
GetIsSystemNamed() (Inherited from ScriptNameObjectBase)
GetIsTextDirty() (Inherited from ScriptNameObjectBase)
GetPropValue(String)

Retrieve the property value from : - The property bag directly if property is available (dirty or retrieved) - A call to our OnPropertyMissing method otherwise

Will throw an exception if the property value is NULL in either case.

(Inherited from SqlSmoObject)
GetPropValueOptional(String)

Retrieve the property value from : - The property bag if the state is creating or we're in Design Mode (possible NULL value) - A call to our OnPropertyMissing method otherwise (will throw exception if value is NULL)

(Inherited from SqlSmoObject)
GetPropValueOptional<T>(String, T)

Returns the value of the named property. If the object is in the Creating state and the property has not yet been set the defaultValue is returned. If the object exists the defaultValue is ignored and the actual value is returned.

(Inherited from SqlSmoObject)
GetPropValueOptionalAllowNull(String)

Retrieve the property value from : - The property bag if the state is creating or we're in Design Mode (possible NULL) - A call to our OnPropertyMissing method otherwise (possible NULL)

(Inherited from SqlSmoObject)
GetRealValue(Property, Object)

Returns the real value for the property.

(Inherited from SqlSmoObject)
GetServerName() (Inherited from SqlSmoObject)
GetServerObject() (Inherited from SqlSmoObject)
GetSqlServerVersionName()

Gets the sqlserver public name for the current connection, e.g: will transfer "SQLTOOLS2008-2" to "SQL Server 2008".

(Inherited from SqlSmoObject)
GetStringComparer()

Returns the comparer used by all child object collections to perform comparison of object names. The comparer of a Server is based on the collation of master The comparer of a Database and its children is based on the database collation

(Inherited from SqlSmoObject)
GetTextBody() (Inherited from ScriptNameObjectBase)
GetTextBody(Boolean) (Inherited from ScriptNameObjectBase)
GetTextHeader(Boolean) (Inherited from ScriptNameObjectBase)
GetTextHeader(ScriptNameObjectBase+ScriptHeaderType) (Inherited from ScriptNameObjectBase)
GetTextMode() (Inherited from ScriptNameObjectBase)
GetTextProperty(String)

get the text of the object, if not available, throw apropiate exception based on the State of the object

(Inherited from ScriptNameObjectBase)
GetUrnRecursive(StringBuilder)

Computes the Urn for the object.

(Inherited from SqlSmoObject)
GetUrnRecursive(StringBuilder, UrnIdOption)

Computes the Urn for the object, potentially including other fields in the definition besides the key fields.

(Inherited from SqlSmoObject)
ImplInitialize(String[], OrderBy[]) (Inherited from SqlSmoObject)
InitChildCollection(Urn, Boolean)

Initializes the child object collection associated with the given type. For example, the name Column would initialize the Columns collection.

(Inherited from SqlSmoObject)
Initialize() (Inherited from SqlSmoObject)
Initialize(Boolean)

Initializes the object, by reading its properties from the enumerator

(Inherited from SqlSmoObject)
IsExpressSku()

Returns whether the server containing this object is an Express SKU

(Inherited from SqlSmoObject)
IsObjectDirty() (Inherited from ScriptNameObjectBase)
IsObjectInitialized() (Inherited from SqlSmoObject)
IsObjectInSpace() (Inherited from SqlSmoObject)
IsSupportedProperty(String)

Validate whether the specified property is supported in current server environment

(Inherited from SqlSmoObject)
IsVersion80SP3() (Inherited from SqlSmoObject)
IsVersion90AndAbove() (Inherited from SqlSmoObject)
MarkDropped() (Inherited from SqlSmoObject)
MarkForDrop(Boolean)
MarkForDropImpl(Boolean) (Inherited from SqlSmoObject)
Pause()

Pause the resumable index that is running.

PostAlter()

this function is meant to be overriden by derived classes, if they have to do supplimentary actions after altering the object

(Inherited from SqlSmoObject)
PostCreate()

this function is meant to be overriden by derived classes, if they have to do supplimentary actions after object creation

(Inherited from SqlSmoObject)
PostDrop()

this function is meant to be overriden by derived classes, if they have to do supplimentary actions after dropping the object

(Inherited from SqlSmoObject)
Rebuild()

Re-creates the index based on the current property settings.

Rebuild(Int32)

Rebuild particular partition

RebuildAllIndexes()

Re-creates all indexes based on the current property settings.

RecalculateSpaceUsage()

Forces the update of data reporting the disk resource usage of the referenced index.

Recreate()
Refresh()

Refresh the object.

Rename(String)

Rename the index

RenameImpl(String)

change object name

(Inherited from NamedSmoObject)
RenameImplWorker(String) (Inherited from NamedSmoObject)
Reorganize(Int32)

Reorganizes the index based on the current property settings.

ReorganizeAllIndexes()

Reorganizes all indexes based on the current property settings.

Resume()

Resume the resumable index that is in the PAUSED status.

Script()
Script(ScriptingOptions)
ScriptImpl() (Inherited from SqlSmoObject)
ScriptImpl(ScriptingOptions)

Returns a StringCollection object with the script for the object. This method throws an error if ScriptData is true

(Inherited from SqlSmoObject)
SetAccessToken(IRenewableToken)

Set the accessToken for connection.

(Inherited from SqlSmoObject)
SetCollectionTextMode(Boolean, SmoCollectionBase) (Inherited from ScriptNameObjectBase)
SetIsSystemNamed(Boolean) (Inherited from ScriptNameObjectBase)
SetParentImpl(SqlSmoObject) (Inherited from SqlSmoObject)
SetSchemaOwned() (Inherited from NamedSmoObject)
SetState(SqlSmoState)

Sets the object state (Existing, Dropped etc.) Applications should avoid using this method.

(Inherited from SmoObjectBase)
SetTextBody(String) (Inherited from ScriptNameObjectBase)
SetTextHeader(String) (Inherited from ScriptNameObjectBase)
SetTextMode(Boolean, SmoCollectionBase[]) (Inherited from ScriptNameObjectBase)
SwitchTextMode(Boolean, SmoCollectionBase[]) (Inherited from ScriptNameObjectBase)
ThrowIfAboveVersion100(String)

Throws an exception if the ServerVersion major version for this object is above 10.0 (SQL 2008)

(Inherited from SqlSmoObject)
ThrowIfAboveVersion80(String)

Throws an exception if the ServerVersion major version for this object is above 8.0 (SQL 2000)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion100(String)

Throws an exception if the ServerVersion major version for this object is below 10.0 (SQL 2008)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion110(String)

Throws an UnsupportedVersionException if either the source or destination server is below 11.0 (SQL 2012)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion110Prop(String)

Throws an exception with text saying the specified property is not supported if the ServerVersion major version for this object is below 11.0 (SQL 2012)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion120(String)

Throws an exception if the ServerVersion major version for this object is below 12.0 (SQL 2014)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion120Prop(String)

Throws an exception with text saying the specified property is not supported if the ServerVersion major version for this object is below 12.0 (SQL 2014)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion130(String)

Throws an exception if the ServerVersion major version for this object is below 13.0 (SQL 2016)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion130Prop(String)

Throws an exception with text saying the specified property is not supported if the ServerVersion major version for this object is below 13.0 (SQL 2016)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion140(String)

Throws an exception if the ServerVersion major version for this object is below 14.0 (SQL 2017)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion140Prop(String)

Throws an exception with text saying the specified property is not supported if the ServerVersion major version for this object is below 14.0 (SQL 2017)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion80(String)

Throws an exception if the ServerVersion major version for this object is below 8.0 (SQL 2000)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion80SP3()

Throws an exception if the ServerVersion for this object is below 8.760 (8.0 SP3)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion90(String)

Throws an exception if the ServerVersion major version for this object is below 9.0 (SQL 2005)

(Inherited from SqlSmoObject)
ThrowIfTextIsDirtyForAlter() (Inherited from ScriptNameObjectBase)
ToString() (Inherited from SqlSmoObject)
Touch()

Mark the object "touched" for unconditional scripting of Alter.

(Inherited from SqlSmoObject)
TouchImpl()

Virtual method to allow derived classes to do additional work when touched.

(Inherited from SqlSmoObject)
UnbindDefaultImpl(Boolean) (Inherited from SqlSmoObject)
UnbindRuleImpl(Boolean) (Inherited from SqlSmoObject)
UpdateStatistics()

forces data distribution statistics update for a referenced index

UpdateStatistics(StatisticsScanType)

forces data distribution statistics update for a referenced index

UpdateStatistics(StatisticsScanType, Int32)

forces data distribution statistics update for a referenced index

UpdateStatistics(StatisticsScanType, Int32, Boolean)

forces data distribution statistics update for a referenced index

UpgradeToClusteredColumnStoreIndex()

Upgrades a Clustered Rowstore index to Clustered Columnstore Index

Validate(String, Object[]) (Inherited from SmoObjectBase)

Events

PropertyChanged (Inherited from SqlSmoObject)
PropertyMetadataChanged (Inherited from SqlSmoObject)

Explicit Interface Implementations

IAlienObject.Discover() (Inherited from SqlSmoObject)
IAlienObject.GetDomainRoot() (Inherited from SqlSmoObject)
IAlienObject.GetParent() (Inherited from SqlSmoObject)
IAlienObject.GetPropertyType(String)

Discovers type of property.

(Inherited from SqlSmoObject)
IAlienObject.GetPropertyValue(String, Type)

Retrieves value for a given property. Throws if property is not found.

(Inherited from SqlSmoObject)
IAlienObject.GetUrn() (Inherited from SqlSmoObject)
IAlienObject.Resolve(String) (Inherited from SqlSmoObject)
IAlienObject.SetObjectState(SfcObjectState)

Sets state of this object based on provided SfcObjectState.

(Inherited from SqlSmoObject)
IAlienObject.SetPropertyValue(String, Type, Object)

Sets the value of given property, if it is writable. If property is not in property bag, reflection is used. Throws exception if the property is not found.

(Inherited from SqlSmoObject)
ISfcPropertyProvider.GetPropertySet() (Inherited from SqlSmoObject)
ISfcSupportsDesignMode.IsDesignMode

This object extend ISfcSupportsDesignMode.

Extension Methods

GetAssessmentItems(SqlSmoObject, String[])

Finds all available checks for given smoObject.

GetAssessmentResults(SqlSmoObject, IEnumerable<ICheck>)

Synchronously runs assessment for given smoObject and gives a IEnumerable<T> describing discovered issues. This method performs only given checks from checks.

GetAssessmentResults(SqlSmoObject, String[])

Synchronously runs assessment for given smoObject and gives a IEnumerable<T> describing discovered issues.

GetAssessmentResultsList(SqlSmoObject, IEnumerable<ICheck>)

Asynchronously runs assessment for given smoObject and gives a List<T> describing discovered issues. This method performs only given checks from checks.

GetAssessmentResultsList(SqlSmoObject, String[])

Asynchronously runs assessment for given smoObject and gives a List<T> describing discovered issues.

IsSupportedObject<T>(SqlSmoObject, ScriptingPreferences)

Checks if the specified type is supported by the ServerVersion and DatabaseEngineType of the root server for this object. If ScriptingPreferences are non-null will also check if specified type is supported by the ServerVersion and DatabaseEngineType of the target server.

Applies to