Поделиться через


sys.all_columns (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric Хранилище в базе данных Microsoft Fabric SQL в Microsoft Fabric

Показывает объединение всех столбцов, принадлежащих к пользовательским и системным объектам.

Имя столбца Тип данных Description
object_id int Идентификатор объекта, которому принадлежит этот столбец.
name sysname Имя столбца. Уникален в пределах объекта.
column_id int Идентификатор столбца. Уникален в пределах объекта.

Идентификаторы столбца могут быть непоследовательными.
system_type_id tinyint Идентификатор системного типа столбца.
user_type_id int Идентификатор определенного пользователем типа столбца.

Чтобы вернуть имя типа, присоедините к представлению каталога sys.types в этом столбце.
max_length smallint Максимальная длина столбца (в байтах).

-1 = типом данных столбца является varchar(max), nvarchar(max), varbinary(max) или xml.

Для столбцов типа text значением max_length будет 16 либо оно будет равным значению параметра "text in row", которое установлено процедурой sp_tableoption.
точность tinyint Точность столбца, если он является числовым; в противном случае — 0.
scale tinyint Масштаб столбца, если он является числовым; в противном случае — 0.
collation_name sysname Имя параметров сортировки столбца, если он символьный; в противном случае — значение NULL.
is_nullable bit 1 = столбец может принимать значение NULL.
is_ansi_padded bit 1 = столбец использует поведение ANSI_PADDING ON, если имеет тип данных character, binary или variant.

0 = столбец имеет тип данных, отличный от character, binary или variant.
is_rowguidcol bit 1 = столбец объявлен как ROWGUIDCOL.
is_identity bit 1 = столбец содержит значения идентификаторов.
is_computed bit 1 = столбец является вычисляемым.
is_filestream bit 1 = для столбца используется потоковое хранилище.
is_replicated bit 1 = столбец реплицирован.
is_non_sql_subscribed bit 1 = у столбца есть подписчик, отличный от подписчика SQL Server.
is_merge_published bit 1 = столбец публикуется слиянием.
is_dts_replicated bit 1 = столбец реплицируется с помощью службы Integration Services (SSIS).
is_xml_document bit 1 = содержимое является готовым XML-документом.

0 = содержимое — фрагмент документа, или данные столбца не принадлежат к типу XML.
xml_collection_id int Ненулевое значение, если столбец имеет тип данных xml, а XML типизирован. Значением будет идентификатор коллекции, содержащей пространство имен проверяющей схемы XML столбца.

0 = нет коллекции схем XML.
default_object_id int Идентификатор объекта по умолчанию независимо от того, представляет ли он собой автономную хранимую процедуру sys.sp_bindefault или подставляемое ограничение DEFAULT на уровне столбца. Столбец parent_object_id встроенного объекта "значение по умолчанию" уровня столбца представляет собой ссылку на саму таблицу.

0 = значение по умолчанию отсутствует.
rule_object_id int Идентификатор изолированного правила, привязанного к столбцу с помощью процедуры sys.sp_bindrule.

0 = изолированное правило отсутствует.

Сведения об ограничениях CHECK на уровне столбцов см. в разделе sys.check_constraints (Transact-SQL).
is_sparse bit 1 = столбец является разреженным. Дополнительные сведения см. в статье Использование разреженных столбцов.
is_column_set bit 1 = столбец является набором столбцов. Дополнительные сведения см. в статье Использование наборов столбцов.
generated_always_type tinyint Область применения: SQL Server 2016 (13.x) и более поздних версий База данных SQL. 7, 8, 9, 10 применяются только к Базе данных SQL.

Определяет, когда создается значение столбца (всегда равно 0 для столбцов в системных таблицах).

0 = NOT_APPLICABLE
1 = AS_ROW_START
2 = AS_ROW_END
7 = AS_TRANSACTION_ID_START
8 = AS_TRANSACTION_ID_END
9 = AS_SEQUENCE_NUMBER_START
10 = AS_SEQUENCE_NUMBER_END

Дополнительные сведения см. в разделе Темпоральные таблицы (реляционные базы данных).
generated_always_type_desc nvarchar(60) Область применения: SQL Server 2016 (13.x) и более поздних версий База данных SQL.

Текстовое generated_always_typeописание значения (всегда NOT_APPLICABLE для столбцов в системных таблицах)

NOT_APPLICABLE
AS_ROW_START
AS_ROW_END

Область применения: начиная с SQL Server 2022 (16.x), База данных SQL

AS_TRANSACTION_ID_START
AS_TRANSACTION_ID_END
AS_SEQUENCE_NUMBER_START
AS_SEQUENCE_NUMBER_END
ledger_view_column_type tinyint Применимо: начиная с SQL Server 2022 (16.x), База данных SQL.

Если значение не равно NULL, указывает тип столбца в представлении реестра.

1 = TRANSACTION_ID
2 = SEQUENCE_NUMBER
3 = OPERATION_TYPE
4 = OPERATION_TYPE_DESC

Дополнительные сведения о реестре базы данных см. в статье Реестр.
ledger_view_column_type_desc nvarchar(60) Применимо: начиная с SQL Server 2022 (16.x), База данных SQL.

Если значение не равно NULL, содержит текстовое описание типа столбца в представлении реестра.

TRANSACTION_ID
SEQUENCE_NUMBER
OPERATION_TYPE
OPERATION_TYPE_DESC

Разрешения

Видимость метаданных в представлениях каталога ограничена защищаемыми объектами, которыми владеет пользователь или которым пользователь получил некоторое разрешение. Дополнительные сведения см. в разделе Metadata Visibility Configuration.

См. также

Представления каталога объектов (Transact-SQL)
Представления каталога (Transact-SQL)
Часто задаваемые вопросы о запросах к системному каталогу SQL Server
sys.columns (Transact-SQL)
sys.system_columns (Transact-SQL)
sys.computed_columns (Transact-SQL)