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


sys.system_columns (Transact-SQL)

Применимо к:SQL ServerБаза данных Azure SQLУправляемый экземпляр Azure SQLAzure Synapse AnalyticsСистема платформы аналитики (PDW)Конечная точка SQL аналитики в 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.

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

0 = Столбец не является символом, бинарным или вариантом.
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 = Столбец опубликован по слиянию (merge-publed).
is_dts_replicated bit 1 = Столбец воспроизводится с помощью SSIS.
is_xml_document bit 1 = Содержимое — это полный XML-документ.

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

0 = Нет коллекции схем XML.
default_object_id int ID объекта по умолчанию, независимо от того, является ли это отдельным sys.sp_bindefault или встроенным ограничением на уровне DEFAULT столбца. parent_object_id Столбец объекта по умолчанию на уровне встроенного столбца является ссылкой обратно на саму таблицу. Или, 0 если нет стандартного режима.
rule_object_id int ID отдельного правила, привязанного к столбцу с помощью sys.sp_bindrule.

0 = нет автономного правила.

Ограничения на уровне CHECK столбцов см. в sys.check_constraints.
is_sparse bit 1 = столбец является разреженным столбцом. Дополнительные сведения см. в разделе "Использование разреженных столбцов".
is_column_set bit 1 = столбец — это набор столбцов. Дополнительные сведения см. в разделе "Использование наборов столбцов".
generated_always_type tinyint Определяет, когда генерируется значение столбца (всегда 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

Дополнительные сведения см. в разделе Темпоральные таблицы.

Область применения: SQL Server 2016 (13.x) и более поздних версий База данных SQL. 7, 8, 9, 10 применяется только к SQL-базе данных.
generated_always_type_desc nvarchar(60) Область применения: SQL Server 2016 (13.x) и более поздних версий База данных SQL.

Текстовое описание generated_always_typeзначения 's (всегда 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 Если нет NULL, указывает тип столбца в представлении реестра:

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

Дополнительные сведения о реестре базы данных см. в статье Реестр.

Область применения: SQL Server 2022 (16.x) и более поздних версий и База данных SQL.
ledger_view_column_type_desc nvarchar(60) Если нет NULL, содержит текстовое описание типа столбца в представлении реестра:

TRANSACTION_ID
SEQUENCE_NUMBER
OPERATION_TYPE
OPERATION_TYPE_DESC

Область применения: SQL Server 2022 (16.x) и более поздних версий и База данных SQL.
is_dropped_ledger_column bit Указывает столбец таблицы реестра, который был удален.

Область применения: SQL Server 2022 (16.x) и более поздних версий и База данных SQL
vector_dimensions int Показывает, сколько измерений имеет вектор.

Применимо к: SQL Server 2025 (17.x) и более поздних версий, а также SQL Database
vector_base_type tinyint Указывает тип данных, используемый для хранения значений векторных измерений.

0 = 32-битный (одноточный) плавающий
1 = 16-битный (половинная точность) плавающий 1

Применимо к: SQL Server 2025 (17.x) и более поздних версий, а также SQL Database
vector_base_type_desc nvarchar(10) Содержит текстовое описание типа данных, используемого для хранения значений векторных измерений.

Применимо к: SQL Server 2025 (17.x) и более поздних версий, а также SQL Database

1 Для получения дополнительной информации см. Формат с плавающей запятой с половинной точностью.

Разрешения

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