Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к: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');