Share via


Table Class

The Table object represents a SQL Server table.

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.ScriptSchemaObjectBase
            Microsoft.SqlServer.Management.Smo.TableViewTableTypeBase
              Microsoft.SqlServer.Management.Smo.TableViewBase
                Microsoft.SqlServer.Management.Smo.Table

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

Syntax

'Declaration
<PhysicalFacetAttribute> _
<EvaluationModeAttribute(AutomatedPolicyEvaluationMode.CheckOnSchedule)> _
Public NotInheritable Class Table _
    Inherits TableViewBase _
    Implements ISfcSupportsDesignMode, IColumnPermission, IObjectPermission, ICreatable,  _
    IAlterable, IDroppable, IRenamable, ITableOptions, IDmfFacet
'Usage
Dim instance As Table
[PhysicalFacetAttribute]
[EvaluationModeAttribute(AutomatedPolicyEvaluationMode.CheckOnSchedule)]
public sealed class Table : TableViewBase, 
    ISfcSupportsDesignMode, IColumnPermission, IObjectPermission, ICreatable, IAlterable, 
    IDroppable, IRenamable, ITableOptions, IDmfFacet
[PhysicalFacetAttribute]
[EvaluationModeAttribute(AutomatedPolicyEvaluationMode::CheckOnSchedule)]
public ref class Table sealed : public TableViewBase, 
    ISfcSupportsDesignMode, IColumnPermission, IObjectPermission, ICreatable, IAlterable, 
    IDroppable, IRenamable, ITableOptions, IDmfFacet
[<SealedAttribute>]
[<PhysicalFacetAttribute>]
[<EvaluationModeAttribute(AutomatedPolicyEvaluationMode.CheckOnSchedule)>]
type Table =  
    class 
        inherit TableViewBase 
        interface ISfcSupportsDesignMode 
        interface IColumnPermission 
        interface IObjectPermission 
        interface ICreatable 
        interface IAlterable 
        interface IDroppable 
        interface IRenamable 
        interface ITableOptions 
        interface IDmfFacet 
    end
public final class Table extends TableViewBase implements ISfcSupportsDesignMode, IColumnPermission, IObjectPermission, ICreatable, IAlterable, IDroppable, IRenamable, ITableOptions, IDmfFacet

The Table type exposes the following members.

Constructors

  Name Description
Public method Table() Initializes a new instance of the Table class.
Public method Table(Database, String) Initializes a new instance of the Table class on the specified database and that has the specified name.
Public method Table(Database, String, String) Initializes a new instance of the Table class on the specified database and that has the specified name and schema.

Top

Properties

  Name Description
Public property AnsiNullsStatus Gets the Boolean property value that specifies whether ISO NULL handling is enabled on the table.
Public property ChangeTrackingEnabled Gets or sets a value that indicates whether change tracking is enabled for the table.
Public property Checks Represents a collection of Check objects. Each Check object represents a check constraint defined on the table.
Public property Columns Gets a column collection. (Inherited from TableViewTableTypeBase.)
Public property CreateDate Gets the date and time when the table was created.
Public property DataSpaceUsed Gets the storage space used by the rows of the referenced table in kilobytes.
Public property DateLastModified Gets the date and time when the table was last modified.
Public property DistributionName Gets or sets the name of the distribution scheme defined by the federation.
Public property Events Gets the events that are associated with the table.
Public property ExtendedProperties Gets an extended property collection. (Inherited from TableViewTableTypeBase.)
Public property FakeSystemTable Gets the Boolean value that specifies whether the table references a system table.
Public property FederationColumnID Gets the ID of the column for the federation key.
Public property FederationColumnName Gets or sets the name of the column for the federation key.
Public property FileGroup Gets or sets the filegroup in which the table is stored.
Public property FileStreamFileGroup Gets or sets the filegroup for FILESTREAM data.
Public property FileStreamPartitionScheme Gets or sets the partition scheme for FILESTREAM data.
Public property FileTableDirectoryName Gets or sets the directory name of the FileTable.
Public property FileTableNameColumnCollation Gets the column collation of the FileTable name.
Public property FileTableNamespaceEnabled Gets or sets a value that indicates whether the FileTable namespace is enabled.
Public property ForeignKeys Represents a collection of ForeignKey objects. Each ForeignKey object represents a foreign key defined on the table.
Public property FullTextIndex Gets the full text index on the table or view. (Inherited from TableViewBase.)
Public property HasAfterTrigger Gets the Boolean property value that specifies whether the table has any after triggers.
Public property HasClusteredIndex Gets the Boolean property value that specifies whether the table has a clustered index.
Public property HasCompressedPartitions Gets a value indicating whether the table uses compressed partitions
Public property HasDeleteTrigger Gets the Boolean property value that specifies whether the table has a delete trigger.
Public property HasIndex Gets the Boolean property value that specifies whether the table has at least one index.
Public property HasInsertTrigger Gets the Boolean property value that specifies whether the table has an insert trigger.
Public property HasInsteadOfTrigger Gets the Boolean property value that specifies whether the table has any instead of triggers.
Public property HasUpdateTrigger Gets the Boolean property value that specifies whether the table has an update trigger.
Public property ID Gets the ID value that uniquely identifies the table.
Public property Indexes Gets the specified index of collection in the table. (Overrides TableViewTableTypeBase.Indexes.)
Public property IndexSpaceUsed Gets the space used by the index, in KB.
Public property IsFileTable Gets a value that indicates whether a table is FileTable.
Public property IsIndexable Gets the Boolean property value that specifies whether an index can be placed on the table.
Public property IsPartitioned Gets the Boolean property value that specifies whether the table is partitioned.
Public property IsSchemaOwned Gets the Boolean property value that specifies whether the table schema is owned.
Public property IsSystemObject Gets the Boolean property value that specifies whether the table is a system object.
Public property IsVarDecimalStorageFormatEnabled Gets or sets a value that indicates whether var decimal storage is enabled.
Public property LockEscalation Gets or sets the type of lock escalation that is used on the table.
Public property MaximumDegreeOfParallelism Gets or sets the maximum number of processors to use in a parallel plan execution that includes the table.
Public property Name Gets or sets a String value that specifies the name of the view table type. (Inherited from TableViewTableTypeBase.)
Public property OnlineHeapOperation Gets or sets the Boolean value that determines whether the table supports online heap or index operations.
Public property Owner Gets or sets the owner of the table.
Public property Parent Gets the Database object that is the parent of the Table object.
Public property PartitionScheme Gets or sets the name of the partition scheme that is configured for the table.
Public property PartitionSchemeParameters Represents a collection of PartitionSchemeParameter objects. Each PartitionSchemeParameter object represents a partition scheme parameter defined on the table.
Public property PhysicalPartitions Gets the physical partitions in which the table data is stored.
Public property Properties Gets a collection of Property objects that represent the object properties. (Inherited from SqlSmoObject.)
Public property QuotedIdentifierStatus Gets or sets a Boolean property value that specifies whether identifiers delimited by double quotation marks are Transact-SQL reserved keywords or contain characters not usually allowed by the Transact-SQL syntax rules.
Public property Replicated Gets the Boolean property that specifies whether the table is replicated.
Public property RowCount Gets the number of rows in the table.
Public property RowCountAsDouble Gets the number of rows in the table as a floating point value.
Public property Schema Gets or sets a String value that specifies the name of the schema that contains the view table type. (Inherited from TableViewTableTypeBase.)
Public property State Gets the state of the referenced object. (Inherited from SmoObjectBase.)
Public property Statistics Represents a collection of Statistic objects. Each Statistic object represents a statistic counter that is defined on the table or view. (Inherited from TableViewBase.)
Public property TextFileGroup Gets or sets the filegroup that is used to maintain long, variable-length data stored in the table.
Public property TrackColumnsUpdatedEnabled Gets or sets a value that indicates whether the Database Engine track columns update is enabled.
Public property Triggers Represents a collection of Trigger objects. Each Trigger object represents a trigger that is defined on the table or view. (Inherited from TableViewBase.)
Public property Urn Gets the Uniform Resource Name (URN) address value that uniquely identifies the object. (Inherited from SqlSmoObject.)
Public property UserData Gets or sets user-defined data associated with the referenced object. (Inherited from SmoObjectBase.)

Top

Methods

  Name Description
Public method Alter Updates any Table object property changes on the instance of SQL Server. 
Public method AlterWithNoCheck Updates any Table object property changes on the instance of SQL Server without checking the property values first. 
Public method ChangeSchema Changes the schema on the referenced table.
Public method CheckIdentityValue Verifies the integrity of all identity columns in the referenced table.
Public method CheckTable Tests the integrity of database pages for the table and indexes defined on the table.
Public method CheckTableDataOnly Tests the integrity of database pages for the table data defined on the table.
Public method Create Creates a table on the instance of SQL Server as defined by the Table object.
Public method Deny(ObjectPermissionSet, String) Denies the specified set of permissions for the specified grantee on the table.
Public method Deny(ObjectPermissionSet, array<String[]) Denies the specified set of permissions for the specified grantees on the table.
Public method Deny(ObjectPermissionSet, String, Boolean) Denies the specified set of permissions for the specified grantee and other users to whom the grantee granted the specified set of permissions on the table.
Public method Deny(ObjectPermissionSet, String, array<String[]) Denies the specified set of permissions to the grantee on the specified columns on the table.
Public method Deny(ObjectPermissionSet, array<String[], Boolean) Denies the specified permission for the specified grantees on the table.
Public method Deny(ObjectPermissionSet, array<String[], array<String[]) Denies the specified set of permissions for the grantees on the specified columns on the table.
Public method Deny(ObjectPermissionSet, String, array<String[], Boolean) Denies the specified set of permissions for the specified grantee and other users to whom the grantee granted the specified set of permissions on the specified columns on the table.
Public method Deny(ObjectPermissionSet, array<String[], array<String[], Boolean) Denies the specified set of permissions for the specified grantees and other users to whom the grantee granted the specified set of permissions on the specified columns on the table.
Public method DisableAllIndexes Disables all the indexes that are on the table.
Public method Discover Discovers a list of type Object. (Inherited from SqlSmoObject.)
Public method Drop Removes the table from the database.
Public method EnableAllIndexes Enables all indexes.
Public method EnumColumnPermissions() Enumerates a list of column permissions for the table.
Public method EnumColumnPermissions(String) Enumerates a list of column permissions for a specified grantee on the table.
Public method EnumColumnPermissions(ObjectPermissionSet) Enumerates a list of column permissions for a specified permission on the table.
Public method EnumColumnPermissions(String, ObjectPermissionSet) Enumerates a list of column permissions for a specified grantee and a specified permission on the table.
Public method EnumForeignKeys Enumerates a list of primary keys in which the table is referenced as a foreign key.
Public method EnumFragmentation() Enumerates information about fragments of data that are stored in a table or view. (Inherited from TableViewBase.)
Public method EnumFragmentation(FragmentationOption) Enumerates information about fragments of data that are stored in a table or view with the option to specify how detailed the results should be. (Inherited from TableViewBase.)
Public method EnumFragmentation(FragmentationOption, Int32) Enumerates information about fragments of data that are stored in a table or view on a specified partition, and with the option to specify how detailed the results should be. (Inherited from TableViewBase.)
Public method EnumLastStatisticsUpdates() Enumerates a list of information about the most recent statistics updates.
Public method EnumLastStatisticsUpdates(String) Enumerates a list of information about the most recent statistics updates for the specified statistic counter.
Public method EnumObjectPermissions() Enumerates a list of object permissions for the table.
Public method EnumObjectPermissions(String) Enumerates a list of object permissions for a specified grantee on the table.
Public method EnumObjectPermissions(ObjectPermissionSet) Enumerates a list of object permissions for a specified permission on the table.
Public method EnumObjectPermissions(String, ObjectPermissionSet) Enumerates a list of object permissions for a specified grantee and a specified permission on the table.
Public method EnumScript() Returns an IEnumerable<string> object that has the script for the passed objects
Public method EnumScript(ScriptingOptions) Returns an IEnumerable<string> object that has the script for the passed objects.
Public method Equals (Inherited from Object.)
Protected method FormatSqlVariant Formats an object as SqlVariant type. (Inherited from SqlSmoObject.)
Protected method GetContextDB Gets the context database that is associated with this object. (Inherited from SqlSmoObject.)
Protected method GetDBName Gets the database name that is associated with the object. (Inherited from SqlSmoObject.)
Public method GetHashCode (Inherited from Object.)
Protected method GetPropValue Gets a property value of the SqlSmoObject object. (Inherited from SqlSmoObject.)
Protected method GetPropValueOptional Gets a property value of the SqlSmoObject object. (Inherited from SqlSmoObject.)
Protected method GetPropValueOptionalAllowNull Gets a property value of the SqlSmoObject object. (Inherited from SqlSmoObject.)
Protected method GetServerObject Gets the server of the SqlSmoObject object. (Inherited from SqlSmoObject.)
Public method GetType (Inherited from Object.)
Public method Grant(ObjectPermissionSet, String) Grants the specified set of permissions to the specified grantee on the table.
Public method Grant(ObjectPermissionSet, array<String[]) Grants the specified set of permissions to the specified grantees on the table.
Public method Grant(ObjectPermissionSet, String, Boolean) Grants access to the specified permission and the ability to grant access to other uses for the specified grantee on the table.
Public method Grant(ObjectPermissionSet, String, array<String[]) Grants access to the specified permission on the specified columns for the specified grantee on the specified columns on the table.
Public method Grant(ObjectPermissionSet, array<String[], Boolean) Grants access to the specified permission and the ability to grant access to other uses for the specified grantees on the table.
Public method Grant(ObjectPermissionSet, array<String[], array<String[]) Grants the specified set of permissions to the grantees to the specified columns on the table.
Public method Grant(ObjectPermissionSet, String, Boolean, String) Grants the specified set of permissions to the grantee and the ability to grant the set of permissions to other users on the table under an assumed role.
Public method Grant(ObjectPermissionSet, String, array<String[], Boolean) Grants the specified permission to the grantee and the ability to grant the specified set of permissions to other users on the specified columns on the table.
Public method Grant(ObjectPermissionSet, array<String[], Boolean, String) Grants the specified set of permissions to the grantees and the ability to grant the set of permissions to other users on the table under an assumed role.
Public method Grant(ObjectPermissionSet, array<String[], array<String[], Boolean) Grants the specified set of permissions to the grantees and the ability to grant the set of permissions to other users on the specified columns on the table.
Public method Grant(ObjectPermissionSet, String, array<String[], Boolean, String) Grants the specified set of permissions to the grantee and the ability to grant the set of permissions to other users on the specified columns on the table under an assumed role.
Public method Grant(ObjectPermissionSet, array<String[], array<String[], Boolean, String) Grants the specified set of permissions to the grantees and the ability to grant the set of permissions to other users on the specified columns on the table under an assumed role.
Public method Initialize() Initializes the object and forces the properties be loaded. (Inherited from SqlSmoObject.)
Public method Initialize(Boolean) Initializes the object and forces the properties be loaded. (Inherited from SqlSmoObject.)
Protected method IsObjectInitialized Verifies whether the object has been initialized. (Inherited from SqlSmoObject.)
Protected method IsObjectInSpace Verifies whether the object is isolated or connected to the instance of SQL Server. (Inherited from SqlSmoObject.)
Public method Rebuild() Rebuilds the table.
Public method Rebuild(Int32) Rebuilds the specified table partition.
Public method RebuildIndexes Rebuilds the indexes on the table.
Public method RecalculateSpaceUsage Recalculates the space that is used on the table.
Public method ReCompileReferences Recompiles any view or trigger that depends on the base SMO object. (Inherited from TableViewBase.)
Public method Refresh Refreshes the View object or Table object properties. (Inherited from TableViewBase.)
Public method Rename Renames the table.
Public method Revoke(ObjectPermissionSet, String) Revokes a previously granted set of permissions from a grantee on the table.
Public method Revoke(ObjectPermissionSet, array<String[]) Revokes a previously granted set of permissions from a list of grantees on the table.
Public method Revoke(ObjectPermissionSet, String, array<String[]) Revokes a previously granted set of permissions from a grantee on the specified columns on the table.
Public method Revoke(ObjectPermissionSet, array<String[], array<String[]) Revokes a previously granted set of permissions from a list of grantees on the specified columns on the table.
Public method Revoke(ObjectPermissionSet, String, Boolean, Boolean) Revokes a previously granted set of permissions from a grantee on the table and any other users to whom the grantee has granted the specified set of permissions. The grantee is also given the ability to revoke the specified set of permissions from other users.
Public method Revoke(ObjectPermissionSet, array<String[], Boolean, Boolean) Revokes a previously granted set of permissions from grantees on the table and any other users to whom the grantees have granted the specified set of permissions. The grantees are also given the ability to revoke the specified set of permissions from other users.
Public method Revoke(ObjectPermissionSet, String, Boolean, Boolean, String) Revokes a previously granted set of permissions from a grantee from the table and any other users to whom the grantee has granted the specified set of permissions. The grantee is also given the ability to revoke the specified set of permissions from other users under an assumed role.
Public method Revoke(ObjectPermissionSet, String, array<String[], Boolean, Boolean) Revokes a previously granted set of permissions from grantees on the specified columns on the table and any other users to whom the grantees have granted the specified set of permissions. The grantees are also given the ability to revoke the specified set of permissions from other users under an assumed role.
Public method Revoke(ObjectPermissionSet, array<String[], Boolean, Boolean, String) Revokes a previously granted set of permissions from grantees on the table and any other users to whom the grantees have granted access. The grantees are also given the ability to revoke the specified set of permissions from other users under an assumed role.
Public method Revoke(ObjectPermissionSet, array<String[], array<String[], Boolean, Boolean) Revokes a previously granted set of permissions from grantees on the specified columns on the table and any other users to whom the grantees have granted the specified set of permissions. The grantees are also given the ability to revoke the specified set of permissions from other users under an assumed role.
Public method Revoke(ObjectPermissionSet, String, array<String[], Boolean, Boolean, String) Revokes a previously granted set of permissions from a grantee on the specified columns on the table and any other users to whom the grantee has granted the specified set of permissions. The grantee is also given the ability to revoke the specified set of permissions from other users under an assumed role.
Public method Revoke(ObjectPermissionSet, array<String[], array<String[], Boolean, Boolean, String) Revokes a previously granted set of permissions from the grantees for the specified columns on the table and any other users to whom the grantee has granted access. The grantee is also given the ability to revoke other users' access under an assumed role.
Public method Script() Generates a Transact-SQL script that can be used to re-create the database object. (Inherited from TableViewTableTypeBase.)
Public method Script(ScriptingOptions) Generates a Transact-SQL script that can be used to re-create the database object with the specified scripting options. (Inherited from TableViewTableTypeBase.)
Protected method SetParentImpl Sets the parent of the SqlSmoObject to the newParent parameter. (Inherited from SqlSmoObject.)
Public method SwitchPartition(Table) Switches the partition of the table to the specified target table.
Public method SwitchPartition(Int32, Table) Switches the specified partition of the table to the specified target table specified (assuming the target table is not partitioned).
Public method SwitchPartition(Table, Int32) Switches the table to the partition with the specified partition number of the specified target table.
Public method SwitchPartition(Int32, Table, Int32) Switches the specified source partition of the table to the specified target of the specified target table.
Public method ToString Returns a String that represents the referenced object. (Inherited from SqlSmoObject.)
Public method TruncateData Truncates the data in the table.
Public method UpdateStatistics() Updates statistics for the table or view. (Inherited from TableViewBase.)
Public method UpdateStatistics(StatisticsTarget, StatisticsScanType) Updates the statistics for the table or view with the option to specify the target and the type of scan performed. (Inherited from TableViewBase.)
Public method UpdateStatistics(StatisticsTarget, StatisticsScanType, Int32) Updates the statistics for the table or view with the option to specify the target, the type of scan performed, and the sample size. (Inherited from TableViewBase.)
Public method UpdateStatistics(StatisticsTarget, StatisticsScanType, Int32, Boolean) Updates the statistics for the table or view with the option to specify the target, the type of scan performed, the sample size, and whether to recompute the statistics. (Inherited from TableViewBase.)
Public method Validate Validates the state of an object. (Inherited from SmoObjectBase.)

Top

Events

  Name Description
Public event PropertyChanged Represents the event that occurs when a property is changed. (Inherited from SqlSmoObject.)
Public event PropertyMetadataChanged Represents the event that occurs when property metadata changes. (Inherited from SqlSmoObject.)

Top

Explicit Interface Implementations

  Name Description
Explicit interface implemetationPrivate method IAlienObject.Discover Discovers any dependencies. Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.GetDomainRoot Returns the root of the domain. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method 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.)
Explicit interface implemetationPrivate method IAlienObject.GetPropertyType Gets the type of the specified property. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.GetPropertyValue Gets the value of the specified property. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method 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.)
Explicit interface implemetationPrivate method IAlienObject.Resolve Gets the instance that contains the information about the object from the Unified Resource Name (URN) of the object. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.SetObjectState Sets the object state to the specified SfcObjectState value. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.SetPropertyValue Sets the property value. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method ISfcPropertyProvider.GetPropertySet Gets the interface reference to the set of properties of this object. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate property ISfcSupportsDesignMode.IsDesignMode Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. Gets a Boolean value that indicates whether the object supports design mode.

Top

Remarks

To get Table object properties, users can be a member of the public fixed server role.

To set Table object properties, users must have ALTER permission on the table.

To create a table, users must have CREATE TABLE permission on the parent database and ALTER permission in the schema.

To drop a table, users must have CONTROL permission on the table, or be a member of the db_ddladmin or db_owner fixed database roles.

To grant, deny, or revoke permission on the table to other users, users must have CONTROL permission on the table.

Examples

Creating, Altering, and Removing Tables

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

Other Resources

Tables

CREATE TABLE (Transact-SQL)