Partage via


sys.system_columns (Transact-SQL)

S’applique à : point de terminaison d’analytique SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL Analytics dans Microsoft Fabric Warehouse dans Microsoft Fabric

Contient une ligne pour chaque colonne des objets système ayant des colonnes.

Nom de la colonne Type de données Description
object_id int Identificateur de l'objet auquel appartient cette colonne.
nom sysname Nom de la colonne. Unique dans l'objet.
column_id int Identificateur de la colonne. Unique dans l'objet.

Les ID de colonnes peuvent ne pas être séquentiels.
system_type_id tinyint ID du type de système de la colonne
user_type_id int ID du type de colonne tel que défini par l'utilisateur.

Pour retourner le nom du type, établissez une jointure à l'affichage de catalogue sys.types sur cette colonne.
max_length smallint Longueur maximale (en octets) de la colonne.

-1 = le type de données de colonne est varchar(max), nvarchar(max), varbinary(max) ou xml.

Pour les colonnes de texte, la valeur max_length est égale à 16 ou à la valeur définie par sp_tableoption « texte en ligne ».
precision tinyint Précision de la colonne si elle est numérique ; sinon, 0.
scale tinyint Échelle de la colonne si numérique ; sinon, 0.
collation_name sysname Nom du classement de la colonne en fonction du caractère ; sinon, NULL.
is_nullable bit 1 = La colonne accepte les valeurs NULL.
is_ansi_padded bit 1 = La colonne utilise le comportement ANSI_PADDING ON si elle est de type caractère, binaire ou variant.

0 = La colonne n'est pas de type caractère, binaire ou variant.
is_rowguidcol bit 1 = La colonne est un ROWGUIDCOL déclaré.
is_identity bit 1 = La colonne comporte des valeurs d'identité.
is_computed bit 1 = La colonne est calculée.
is_filestream bit 1 = La colonne est déclarée utiliser un stockage de flux de fichier.
is_replicated bit 1 = La colonne est répliquée.
is_non_sql_subscribed bit 1 = La colonne a un abonné autre que SQL Server.
is_merge_published bit 1 = La colonne est associée à une publication fusionnée.
is_dts_replicated bit 1 = la colonne est répliquée à l'aide de SSIS.
is_xml_document bit 1 = Le contenu est un document XML complet.

0 = Le contenu est un fragment de document ou les données de colonne ne sont pas de type xml.
xml_collection_id int Différent de zéro si les données de la colonne sont de type xml et que le format XML est typé. La valeur correspondra à l'ID de la collection qui contient l'espace de noms de schéma XML de validation de la colonne.

0 = Aucune collection de schéma XML.
default_object_id int ID de l’objet par défaut, qu’il soit ou non un sys.sp_bindefault autonome ou une contrainte DEFAULT inlined de niveau colonne. La colonne parent_object_id d’un objet inlined par défaut de niveau colonne est une référence à la table elle-même. Il aura la valeur 0 en l'absence de valeur par défaut.
rule_object_id int ID de la règle autonome liée à la colonne à l’aide de sys.sp_bindrule.

0 = Aucune règle autonome.

Pour connaître les contraintes CHECK au niveau des colonnes, consultez sys.check_constraints (Transact-SQL).
is_sparse bit 1 = La colonne est éparse. Pour plus d’informations, consultez Utiliser des colonnes éparses.
is_column_set bit 1 = La colonne est un jeu de colonnes. Pour plus d’informations, consultez Utiliser des jeux de colonnes.
generated_always_type tinyint S’applique à : SQL Server 2016 (13.x) et versions ultérieures, SQL Database. Seuls 7, 8, 9, 10 s’appliquent à SQL Database.

Identifie quand la valeur de colonne est générée (sera toujours 0 pour les colonnes dans les tables système) :

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

Pour plus d’informations, consultez Tables temporelles (bases de données relationnelles).
generated_always_type_desc nvarchar(60) S’applique à : SQL Server 2016 (13.x) et versions ultérieures, SQL Database.

Description textuelle de generated_always_typela valeur (toujours NOT_APPLICABLE pour les colonnes dans les tables système)

NOT_APPLICABLE
AS_ROW_START
AS_ROW_END

S’applique à : SQL Serveur à compter de SQL Server 2022 (16.x), SQL Database

AS_TRANSACTION_ID_START
AS_TRANSACTION_ID_END
AS_SEQUENCE_NUMBER_START
AS_SEQUENCE_NUMBER_END
ledger_view_column_type tinyint S’applique à : SQL Serveur à compter de SQL Server 2022 (16.x), SQL Database.

Si la valeur n’est pas NULL, indique le type d’une colonne dans un affichage de registre :

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

Pour plus d’informations sur le registre de bases de données, consultez Registre.
ledger_view_column_type_desc nvarchar(60) S’applique à : SQL Serveur à compter de SQL Server 2022 (16.x), SQL Database.

Si la valeur n’est pas NULL, contient une description textuelle du type de colonne dans un affichage de registre :

TRANSACTION_ID
SEQUENCE_NUMBER
OPERATION_TYPE
OPERATION_TYPE_DESC

autorisations

La visibilité des métadonnées dans les affichages catalogue est limitée aux éléments sécurisables qu'un utilisateur détient ou pour lesquels des autorisations lui ont été accordées. Pour plus d'informations, consultez Metadata Visibility Configuration.

Voir aussi

Vues de catalogue d'objets (Transact-SQL)
Affichages catalogue (Transact-SQL)
Questions fréquentes sur l'interrogation des catalogues système de SQL Server
sys.columns (Transact-SQL)
sys.all_columns (Transact-SQL)
sys.computed_columns (Transact-SQL)