--- description: "sys.all_columns (Transact-SQL)" title: "sys.all_columns (Transact-SQL) | Microsoft Docs" ms.custom: "" ms.date: "03/14/2017" ms.prod: sql ms.prod_service: "database-engine, sql-database, synapse-analytics, pdw" ms.reviewer: "" ms.technology: system-objects ms.topic: "reference" f1_keywords: - "all_columns_TSQL" - "all_columns" - "sys.all_columns_TSQL" - "sys.all_columns" dev_langs: - "TSQL" helpviewer_keywords: - "sys.all_columns catalog view" ms.assetid: 40e04fe9-0b64-4799-84c0-57f128b2bdc2 author: WilliamDAssafMSFT ms.author: wiassaf monikerRange: ">=aps-pdw-2016||=azuresqldb-current||=azure-sqldw-latest||>=sql-server-2016||>=sql-server-linux-2017||=azuresqldb-mi-current" --- # sys.all_columns (Transact-SQL) [!INCLUDE [sql-asdb-asdbmi-asa-pdw](../../includes/applies-to-version/sql-asdb-asdbmi-asa-pdw.md)] Shows the union of all columns belonging to user-defined objects and system objects. |Column name|Data type|Description| |-----------------|---------------|-----------------| |object_id|**int**|ID of the object to which this column belongs.| |name|**sysname**|Name of the column. Is unique within the object.| |column_id|**int**|ID of the column. Is unique within the object.

Column IDs might not be sequential.| |system_type_id|**tinyint**|ID of the system-type of the column.| |user_type_id|**int**|ID of the type of the column as defined by the user.

To return the name of the type, join to the [sys.types](../../relational-databases/system-catalog-views/sys-types-transact-sql.md) catalog view on this column.| |max_length|**smallint**|Maximum length (in bytes) of the column.

-1 = Column data type is **varchar(max)**, **nvarchar(max)**, **varbinary(max)**, or **xml**.

For **text** columns, the max_length value will be 16 or the value set by sp_tableoption 'text in row'.| |precision|**tinyint**|Precision of the column if numeric-based; otherwise, 0.| |scale|**tinyint**|Scale of the column if numeric-based; otherwise, 0.| |collation_name|**sysname**|Name of the collation of the column if character-based; otherwise, NULL.| |is_nullable|**bit**|1 = Column is nullable.| |is_ansi_padded|**bit**|1 = Column uses ANSI_PADDING ON behavior if character, binary, or variant.

0 = Column is not character, binary, or variant.| |is_rowguidcol|**bit**|1 = Column is a declared ROWGUIDCOL.| |is_identity|**bit**|1 = Column has identity values| |is_computed|**bit**|1 = Column is a computed column.| |is_filestream|**bit**|1 = Column is declared to use filestream storage.| |is_replicated|**bit**|1 = Column is replicated.| |is_non_sql_subscribed|**bit**|1 = Column has a non-[!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] subscriber.| |is_merge_published|**bit**|1 = Column is merge-published.| |is_dts_replicated|**bit**|1 = Column is replicated by using [!INCLUDE[ssIS](../../includes/ssis-md.md)].| |is_xml_document|**bit**|1 = Content is a complete XML document.

0 = Content is a document fragment, or the column data type is not XML.| |xml_collection_id|**int**|Non-zero if the column's data type is **xml** and the XML is typed. The value will be the ID of the collection containing the column's validating XML schema namespace

0 = no XML schema collection.| |default_object_id|**int**|ID of the default object, regardless of whether it is a stand-alone [sys.sp_bindefault](../../relational-databases/system-stored-procedures/sp-bindefault-transact-sql.md), or an in-line, column-level DEFAULT constraint. The parent_object_id column of an inline column-level default object is a reference back to the table itself.

0 = No default.| |rule_object_id|**int**|ID of the stand-alone rule bound to the column by using sys.sp_bindrule.

0 = No stand-alone rule.

For column-level CHECK constraints, see [sys.check_constraints (Transact-SQL)](../../relational-databases/system-catalog-views/sys-check-constraints-transact-sql.md).| |is_sparse|bit|1 = Column is a sparse column. For more information, see [Use Sparse Columns](../../relational-databases/tables/use-sparse-columns.md).| |is_column_set|bit|1 = Column is a column set. For more information, see [Use Column Sets](../../relational-databases/tables/use-column-sets.md).| |generated_always_type|**tinyint**|**Applies to**: [!INCLUDE[sssql16-md](../../includes/sssql16-md.md)] and later.

The numeric value representing the type of column:

0 = NOT_APPLICABLE

1 = AS_ROW_START

2 = AS_ROW_END| |generated_always_type_desc|**nvarchar(60)**|**Applies to**: [!INCLUDE[sssql16-md](../../includes/sssql16-md.md)] and later.

The text description of the type of column:

NOT_APPLICABLE

AS_ROW_START

AS_ROW_END| ## Permissions [!INCLUDE[ssCatViewPerm](../../includes/sscatviewperm-md.md)] For more information, see [Metadata Visibility Configuration](../../relational-databases/security/metadata-visibility-configuration.md). ## See Also [Object Catalog Views (Transact-SQL)](../../relational-databases/system-catalog-views/object-catalog-views-transact-sql.md) [Catalog Views (Transact-SQL)](../../relational-databases/system-catalog-views/catalog-views-transact-sql.md) [Querying the SQL Server System Catalog FAQ](../../relational-databases/system-catalog-views/querying-the-sql-server-system-catalog-faq.yml) [sys.columns (Transact-SQL)](../../relational-databases/system-catalog-views/sys-columns-transact-sql.md) [sys.system_columns (Transact-SQL)](../../relational-databases/system-catalog-views/sys-system-columns-transact-sql.md) [sys.computed_columns (Transact-SQL)](../../relational-databases/system-catalog-views/sys-computed-columns-transact-sql.md)