Index Class
The Index object represents a SQL Server index.
Inheritance Hierarchy
System.Object
Microsoft.SqlServer.Management.Smo.SmoObjectBase
Microsoft.SqlServer.Management.Smo.SqlSmoObject
Microsoft.SqlServer.Management.Smo.NamedSmoObject
Microsoft.SqlServer.Management.Smo.ScriptNameObjectBase
Microsoft.SqlServer.Management.Smo.Index
Namespace: Microsoft.SqlServer.Management.Smo
Assembly: Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)
Syntax
'Declaration
<EvaluationModeAttribute(AutomatedPolicyEvaluationMode.CheckOnSchedule)> _
<PhysicalFacetAttribute> _
Public NotInheritable Class Index _
Inherits ScriptNameObjectBase _
Implements ICreatable, IDroppable, IMarkForDrop, IAlterable, _
IRenamable, IExtendedProperties, IScriptable, ISfcSupportsDesignMode
'Usage
Dim instance As Index
[EvaluationModeAttribute(AutomatedPolicyEvaluationMode.CheckOnSchedule)]
[PhysicalFacetAttribute]
public sealed class Index : ScriptNameObjectBase,
ICreatable, IDroppable, IMarkForDrop, IAlterable, IRenamable,
IExtendedProperties, IScriptable, ISfcSupportsDesignMode
[EvaluationModeAttribute(AutomatedPolicyEvaluationMode::CheckOnSchedule)]
[PhysicalFacetAttribute]
public ref class Index sealed : public ScriptNameObjectBase,
ICreatable, IDroppable, IMarkForDrop, IAlterable, IRenamable,
IExtendedProperties, IScriptable, ISfcSupportsDesignMode
[<SealedAttribute>]
[<EvaluationModeAttribute(AutomatedPolicyEvaluationMode.CheckOnSchedule)>]
[<PhysicalFacetAttribute>]
type Index =
class
inherit ScriptNameObjectBase
interface ICreatable
interface IDroppable
interface IMarkForDrop
interface IAlterable
interface IRenamable
interface IExtendedProperties
interface IScriptable
interface ISfcSupportsDesignMode
end
public final class Index extends ScriptNameObjectBase implements ICreatable, IDroppable, IMarkForDrop, IAlterable, IRenamable, IExtendedProperties, IScriptable, ISfcSupportsDesignMode
The Index type exposes the following members.
Constructors
Name | Description | |
---|---|---|
Index() | Initializes a new instance of the Index class. | |
Index(SqlSmoObject, String) | Initializes a new instance of the Index class on the specified parent object and with the specified name. |
Top
Properties
Name | Description | |
---|---|---|
BoundingBoxXMax | Specifies the x-coordinate of the upper right corner of a bounding box. | |
BoundingBoxXMin | Specifies the x-coordinate of the lower-left corner of a bounding box. | |
BoundingBoxYMax | Specifies the y-coordinate of upper-right corner of a bounding box. | |
BoundingBoxYMin | Specifies the y-coordinate of the lower-left corner of a bounding box. | |
CellsPerObject | Defines the maximum number of cells that tessellation can count per object. | |
CompactLargeObjects | Gets or sets the Boolean property value that specifies whether to compact the large object (LOB) data in the index. | |
DisallowPageLocks | Gets or sets the Boolean property value that specifies whether the index allows page locks. | |
DisallowRowLocks | Gets or sets the Boolean property value that specifies whether the index allows row locks. | |
Events | Gets the index events supported by the Index object. | |
ExtendedProperties | Represents a collection of ExtendedProperty objects. Each ExtendedProperty object represents an extended property defined on the Index object. | |
FileGroup | Gets or sets the filegroup where the index pages are stored. | |
FileStreamFileGroup | Gets or Sets the file group name for the index. | |
FileStreamPartitionScheme | Gets or Sets the partition scheme name for the index. | |
FillFactor | Gets or sets the percentage of an index page to fill when the index is created or re-created. | |
FilterDefinition | Gets or sets the String value that contains the definition for the filter. | |
HasCompressedPartitions | Gets or sets the Boolean property value that specifies whether the index has compressed partitions. | |
HasFilter | Gets the Boolean property value that specifies whether the index has a filter defined for a range of index values. | |
ID | Gets the index ID value that uniquely identifies the index within the database. | |
IgnoreDuplicateKeys | Gets or sets the Boolean property value that specifies whether the index ignores duplicate keys. | |
IndexedColumns | Gets a collection of IndexedColumn objects that represent all the columns participating in the index. | |
IndexedXmlPathName | Gets or sets the name of the indexed XML path. | |
IndexedXmlPathNamespaces | Gets the collection of indexed XML path namespace. | |
IndexedXmlPaths | Gets or sets the collection of indexed XML paths. | |
IndexKeyType | Gets or sets the index key type. | |
IndexType | Gets or sets the type of index. | |
IsClustered | Gets or sets the Boolean property value that specifies whether the index is clustered. | |
IsDisabled | Gets or sets the Boolean property value that specifies whether the index is disabled. | |
IsFileTableDefined | Gets or sets whether the file table is defined. | |
IsFullTextKey | Gets the Boolean value that specifies whether the index is enabled for row identification in Microsoft Search. | |
IsIndexOnComputed | Gets the Boolean property value that specifies whether the index is based on a computed column. | |
IsIndexOnTable | Gets the Boolean property value that specifies whether the index is defined for a table or a view. | |
IsPartitioned | Gets the Boolean property value that specifies whether the index is stored in a partitioned scheme. | |
IsSpatialIndex | Gets a value that indicates whether an index is a spatial index. | |
IsSystemNamed | Gets the Boolean property value that specifies whether the index was named automatically by the system. | |
IsSystemObject | Gets the Boolean property value that specifies whether the index is a system object. | |
IsUnique | Gets or sets the Boolean property value that specifies whether the index is unique or not. | |
IsXmlIndex | Gets or sets the Boolean property value that specifies whether the index is an XML index. | |
Level1Grid | Gets or sets the first level of decomposition for a geometry data type. | |
Level2Grid | Specifies the second level of decomposition for a geometry data type. | |
Level3Grid | Specifies the third level of decomposition for a geometry data type. | |
Level4Grid | Gets or sets the fourth level of decomposition for a geometry data type. | |
MaximumDegreeOfParallelism | Gets or sets the maximum number of processors that can be used when running a query that uses the index. | |
Name | Gets or sets the name of the index. (Overrides NamedSmoObject.Name.) | |
NoAutomaticRecomputation | Gets or sets the Boolean property value that specifies whether statistics are regenerated when an index is created. | |
OnlineIndexOperation | Gets or sets the Boolean property value that specifies whether the index will be kept online during index operations thus allowing access to the data. | |
PadIndex | Gets or sets the Boolean property value that specifies whether space is left open on each page of the intermediate levels of the index. | |
Parent | Gets or sets the SqlSmoObject object that is the parent of the Index object. | |
ParentXmlIndex | Gets or sets the parent of an XML index. | |
PartitionScheme | Gets or sets the partition scheme associated with the index. | |
PartitionSchemeParameters | Represents a collection of PartitionSchemeParameter objects. Each PartitionSchemeParameter object represents a parameter in the partition scheme associated with the index. | |
PhysicalPartitions | Gets a collection of PhysicalPartition objects that represent all the physical partitions on which the index is stored. | |
Properties | Gets a collection of Property objects that represent the object properties. (Inherited from SqlSmoObject.) | |
SecondaryXmlIndexType | Gets or sets the secondary XML index type. | |
SortInTempdb | Gets or sets the Boolean property value that specifies whether the index is sorted using the tempdb database for intermediate storage of data. | |
SpaceUsed | Gets or sets the disk space used to store the index data in kilobytes. | |
SpatialIndexType | Gets or sets the Spatial Index Type for a column. | |
State | Gets the state of the referenced object. (Inherited from SmoObjectBase.) | |
Urn | Gets the Uniform Resource Name (URN) address value that uniquely identifies the object. (Inherited from SqlSmoObject.) | |
UserData | Gets or sets user-defined data associated with the referenced object. (Inherited from SmoObjectBase.) |
Top
Methods
Name | Description | |
---|---|---|
Alter() | Updates any Index object property changes on the instance of SQL Server. | |
Alter(IndexOperation) | Updates any Index object property changes on the instance of SQL Server for a specified index operation. | |
AlterAllIndexes | Updates any Index object property changes for all indexes on the instance of SQL Server for a specified index operation. | |
CheckIndex | Tests the integrity of database pages that store the index. | |
CheckIndexWithResult | Tests the integrity of database pages that store the index. | |
Create | Creates an index on the instance of SQL Server as defined by the Index object. | |
Disable | Disables the index. | |
Discover | Discovers a list of type Object. (Inherited from SqlSmoObject.) | |
Drop | Drops the index. | |
DropAndMove(String) | Drops a clustered index and moves the underlying table data to the specified filegroup. | |
DropAndMove(String, StringCollection) | Drops a clustered index and moves the underlying table data to the partition scheme with the specified partition scheme parameters. | |
Enable | Enables the index. | |
EnumFragmentation() | Enumerates a list of fragmentation information for the index using the default fast fragmentation option. | |
EnumFragmentation(FragmentationOption) | Enumerates a list of fragmentation information for the index with the specified fragmentation option. | |
EnumFragmentation(FragmentationOption, Int32) | Enumerates a list of fragmentation information for the index with the specified fragmentation option and partition number. | |
EnumStatistics | Enumerates a list of statistical information for the index. | |
Equals | (Inherited from Object.) | |
FormatSqlVariant | Formats an object as SqlVariant type. (Inherited from SqlSmoObject.) | |
GetContextDB | Gets the context database that is associated with this object. (Inherited from SqlSmoObject.) | |
GetDBName | Gets the database name that is associated with the object. (Inherited from SqlSmoObject.) | |
GetHashCode | (Inherited from Object.) | |
GetPropValue | Gets a property value of the SqlSmoObject object. (Inherited from SqlSmoObject.) | |
GetPropValueOptional | Gets a property value of the SqlSmoObject object. (Inherited from SqlSmoObject.) | |
GetPropValueOptionalAllowNull | Gets a property value of the SqlSmoObject object. (Inherited from SqlSmoObject.) | |
GetServerObject | Gets the server of the SqlSmoObject object. (Inherited from SqlSmoObject.) | |
GetType | (Inherited from Object.) | |
Initialize() | Initializes the object and forces the properties be loaded. (Inherited from SqlSmoObject.) | |
Initialize(Boolean) | Initializes the object and forces the properties be loaded. (Inherited from SqlSmoObject.) | |
IsObjectInitialized | Verifies whether the object has been initialized. (Inherited from SqlSmoObject.) | |
IsObjectInSpace | Verifies whether the object is isolated or connected to the instance of SQL Server. (Inherited from SqlSmoObject.) | |
MarkForDrop | Marks the index to be dropped the next time that the Alter method is run on the Index object's parent object. | |
Rebuild() | Rebuilds the index. | |
Rebuild(Int32) | Rebuilds the index on the partition with the specified partition number. | |
RebuildAllIndexes | Rebuilds all the indexes. | |
RecalculateSpaceUsage | Updates the disk resource usage of the index. | |
Recreate | Re-creates the index. | |
Refresh | Refreshes the Index object and its properties. (Overrides ScriptNameObjectBase.Refresh().) | |
Rename | Renames the index. | |
Reorganize | Reorganizes the index based on current property settings. | |
ReorganizeAllIndexes | Reorganizes all the indexes based on current property settings. | |
Script() | Generates a Transact-SQL script that can be used to re-create the index. | |
Script(ScriptingOptions) | Generates a Transact-SQL script that can be used to re-create the index as specified by the script options. | |
SetParentImpl | Sets the parent of the SqlSmoObject to the newParent parameter. (Inherited from SqlSmoObject.) | |
ToString | Returns a String that represents the referenced object. (Inherited from SqlSmoObject.) | |
UpdateStatistics() | Updates statistics for the referenced index. | |
UpdateStatistics(StatisticsScanType) | Updates statistics for the referenced index with the specified statistics scan type. | |
UpdateStatistics(StatisticsScanType, Int32) | Updates statistics for the referenced index with the specified statistics scan type and specified sample size. | |
UpdateStatistics(StatisticsScanType, Int32, Boolean) | Updates statistics for the referenced index with the specified statistics scan type and specified sample size and with the option to recompute the statistics. | |
Validate | Validates the state of an object. (Inherited from SmoObjectBase.) |
Top
Events
Name | Description | |
---|---|---|
PropertyChanged | Represents the event that occurs when a property is changed. (Inherited from SqlSmoObject.) | |
PropertyMetadataChanged | Represents the event that occurs when property metadata changes. (Inherited from SqlSmoObject.) |
Top
Explicit Interface Implementations
Name | Description | |
---|---|---|
IAlienObject.Discover | Discovers any dependencies. Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SqlSmoObject.) | |
IAlienObject.GetDomainRoot | Returns the root of the domain. (Inherited from SqlSmoObject.) | |
IAlienObject.GetParent | Gets the parent of this object. Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SqlSmoObject.) | |
IAlienObject.GetPropertyType | Gets the type of the specified property. (Inherited from SqlSmoObject.) | |
IAlienObject.GetPropertyValue | Gets the value of the specified property. (Inherited from SqlSmoObject.) | |
IAlienObject.GetUrn | Gets the Unified Resource Name (URN) of the object. Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SqlSmoObject.) | |
IAlienObject.Resolve | Gets the instance that contains the information about the object from the Unified Resource Name (URN) of the object. (Inherited from SqlSmoObject.) | |
IAlienObject.SetObjectState | Sets the object state to the specified SfcObjectState value. (Inherited from SqlSmoObject.) | |
IAlienObject.SetPropertyValue | Sets the property value. (Inherited from SqlSmoObject.) | |
ISfcPropertyProvider.GetPropertySet | Gets the interface reference to the set of properties of this object. (Inherited from SqlSmoObject.) | |
ISfcSupportsDesignMode.IsDesignMode | Gets a Boolean value that indicates whether the object supports design mode. |
Top
Remarks
To get Index object properties, users can be a member of the public fixed server role.
To set Index object properties, create or drop an index, update statistics on an index, or rebuild, reorganize, or re-create an index, users must have one of the following:
ALTER permission on the parent table or view
Membership of the db_owner or the db_ddladmin fixed database roles
Membership of the sysadmin fixed server role
Thread Safety
Any public static (Shared in Microsoft Visual Basic) members of this type are safe for multithreaded operations. Any instance members are not guaranteed to be thread safe.
Examples
Creating, Altering, and Removing Indexes
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also
Reference
Microsoft.SqlServer.Management.Smo Namespace