Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Возвращает строку для каждого столбца объекта, имеющего столбцы, например представления или таблицы. В следующем списке содержатся типы объектов, имеющие столбцы:
- возвращающие табличное значение функции сборки (FT);
- встроенные возвращающие табличное значение функции SQL (IF);
- внутренние таблицы (IT);
- системные таблицы (S);
- возвращающие табличное значение функции SQL (TF);
- пользовательские таблицы (U);
- представления (V).
| Имя столбца | Тип данных | Описание |
|---|---|---|
object_id |
int | Идентификатор объекта, которому принадлежит этот столбец. |
name |
sysname | Имя столбца. Уникален в пределах объекта. |
column_id |
int | Идентификатор столбца. Уникален в пределах объекта. Идентификаторы столбца могут быть непоследовательными. |
system_type_id |
tinyint | Идентификатор системного типа столбца. |
user_type_id |
int | Идентификатор определенного пользователем типа столбца. Чтобы вернуть имя типа, присоедините к представлению каталога sys.types в этом столбце. |
max_length |
смолинт | Максимальная длина столбца (в байтах).-1= тип данных столбца — varchar(max), nvarchar(max), varbinary(max)или xml.Для столбцов текста, ntext |
precision |
tinyint | Точность столбца, если числовое значение; 0в противном случае . |
scale |
tinyint | Масштабирование столбца, если числовое значение; 0в противном случае . |
collation_name |
sysname | Имя параметров сортировки столбца, если он символьный; в противном случае — значение NULL. |
is_nullable |
бит |
1 = столбец имеет значение NULL0 = столбец не допускает значение NULL |
is_ansi_padded |
бит |
1 = столбец использует ANSI_PADDING ON поведение, если символ, двоичный или вариант0 = столбец не является символом, двоичным или вариантом |
is_rowguidcol |
бит |
1 = столбец объявлен ROWGUIDCOL |
is_identity |
бит |
1 = столбец имеет значения идентификаторов |
is_computed |
бит |
1 = столбец — вычисляемый столбец |
is_filestream |
бит |
1 = столбец FILESTREAM — это столбец FILESTREAM |
is_replicated |
бит |
1 = реплицируется столбец |
is_non_sql_subscribed |
бит |
1 = Столбец имеет подписчик, отличный от SQL Server |
is_merge_published |
бит |
1 = столбец опубликован слиянием |
is_dts_replicated |
бит |
1 = столбец реплицируется с помощью служб SSIS |
is_xml_document |
бит |
1 = содержимое — полный XML-документ0 = содержимое является фрагментом документа, или тип данных столбца не является xml |
xml_collection_id |
int | Ненулевое значение, если тип столбца — xml, а XML типизирован. Значением является идентификатор коллекции, содержащей проверяющее пространство имен схемы XML столбца.0 = нет коллекции схем XML |
default_object_id |
int | Идентификатор объекта по умолчанию независимо от того, является ли он автономным объектом sp_bindefault или встроенным ограничением на уровне DEFAULT столбцов.
parent_object_id Столбец объекта по умолчанию на уровне встроенного столбца является ссылкой обратно на саму таблицу.0 = нет по умолчанию |
rule_object_id |
int | ID отдельного правила, привязанного к столбцу с помощью sys.sp_bindrule.0 = нет автономного правила. Ограничения на уровне CHECK столбцов см. в sys.check_constraints. |
is_sparse |
бит |
1 = столбец является разреженным столбцом. Дополнительные сведения см. в разделе "Использование разреженных столбцов". |
is_column_set |
бит |
1 = столбец — это набор столбцов. Дополнительные сведения см. в разделе "Использование разреженных столбцов". |
generated_always_type |
tinyint | Определяет, когда создается значение столбца (всегда 0 используется для столбцов в системных таблицах).Область применения: SQL Server 2016 (13.x) и более поздних версий и База данных SQL. 0 = NOT_APPLICABLE1 = AS_ROW_START2 = AS_ROW_ENDОбласть применения: SQL Server 2022 (16.x) и более поздних версий и База данных SQL. 5 = AS_TRANSACTION_ID_START6 = AS_TRANSACTION_ID_END7 = AS_SEQUENCE_NUMBER_START8 = AS_SEQUENCE_NUMBER_ENDДополнительные сведения см. в разделе Темпоральные таблицы. |
generated_always_type_desc |
nvarchar(60) | Текстовое описание generated_always_type значения (всегда NOT_APPLICABLE для столбцов в системных таблицах)Область применения: SQL Server 2016 (13.x) и более поздних версий и База данных SQL. NOT_APPLICABLEAS_ROW_STARTAS_ROW_ENDОбласть применения: SQL Server 2022 (16.x) и более поздних версий и База данных SQL. AS_TRANSACTION_ID_STARTAS_TRANSACTION_ID_ENDAS_SEQUENCE_NUMBER_STARTAS_SEQUENCE_NUMBER_END |
encryption_type |
int | Тип шифрования:1 = детерминированное шифрование2 = случайное шифрованиеОбласть применения: SQL Server 2016 (13.x) и более поздних версий и База данных SQL |
encryption_type_desc |
nvarchar(64) | Описание типа шифрования:RANDOMIZEDDETERMINISTICОбласть применения: SQL Server 2016 (13.x) и более поздних версий и База данных SQL |
encryption_algorithm_name |
sysname | Имя алгоритма шифрования. Поддерживается только AEAD_AES_256_CBC_HMAC_SHA_512.Область применения: SQL Server 2016 (13.x) и более поздних версий и База данных SQL |
column_encryption_key_id |
int | Идентификатор ключа шифрования столбца (CEK). Область применения: SQL Server 2016 (13.x) и более поздних версий и База данных SQL |
column_encryption_key_database_name |
sysname | Имя базы данных, в которой существует ключ шифрования столбца, если отличается от базы данных столбца.
NULL, если ключ существует в той же базе данных, что и столбец.Область применения: SQL Server 2016 (13.x) и более поздних версий и База данных SQL |
is_hidden |
бит | Указывает, если столбец скрыт:0 = обычный, не скрытый, видимый столбец1 = скрытый столбецОбласть применения: SQL Server 2016 (13.x) и более поздних версий и База данных SQL |
is_masked |
бит | Указывает, маскируется ли столбец динамическим маскированием данных:0 = обычный, не маскированные столбцы1 = столбец маскируетсяОбласть применения: SQL Server 2016 (13.x) и более поздних версий и База данных SQL |
graph_type |
int | Внутренний столбец с набором значений. Значения находятся между 1 столбцами графа и 8NULL другими. |
graph_type_desc |
nvarchar(60) | Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
is_data_deletion_filter_column |
бит | Указывает, является ли столбец столбцом фильтра хранения данных для таблицы. Область применения: SQL Azure для пограничных вычислений |
ledger_view_column_type |
int | Если нет NULL, указывает тип столбца в представлении реестра:1 = TRANSACTION_ID2 = SEQUENCE_NUMBER3 = OPERATION_TYPE4 = OPERATION_TYPE_DESCДополнительные сведения см. в обзоре реестра. Область применения: SQL Server 2022 (16.x) и более поздних версий и База данных SQL |
ledger_view_column_type_desc |
nvarchar(60) | Если нет NULL, содержит текстовое описание типа столбца в представлении реестра:TRANSACTION_IDSEQUENCE_NUMBEROPERATION_TYPEOPERATION_TYPE_DESCОбласть применения: SQL Server 2022 (16.x) и более поздних версий и База данных SQL |
is_dropped_ledger_column |
бит | Указывает столбец таблицы реестра, который был удален. Область применения: 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 Для получения дополнительной информации см. Формат с плавающей запятой с половинной точностью.
Разрешения
Видимость метаданных в представлениях каталога ограничена защищаемыми объектами, которыми владеет пользователь или которым пользователь получил некоторое разрешение. Дополнительные сведения см. в разделе "Конфигурация видимости метаданных".
Примеры использования
Получение сведений о столбце для таблицы
Чтобы получить метаданные для столбцов в таблице, используйте следующий код:
CREATE TABLE dbo.[sample]
(
id INT NOT NULL,
col1 VARBINARY (10) NULL
);
SELECT c.[name] AS column_name,
t.[name] AS [type_name],
c.[max_length],
c.[precision],
c.[scale]
FROM sys.columns AS c
INNER JOIN sys.types AS t
ON c.user_type_id = t.user_type_id
WHERE object_id = object_id('dbo.sample');