sys.system_columns (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Microsoft Fabric

Innehåller en rad för varje kolumn med systemobjekt som har kolumner.

Kolumnnamn Datatyp Description
object_id int ID för det objekt som den här kolumnen tillhör.
name sysname Namnet på kolumnen. Är unikt i objektet.
column_id int ID för kolumnen. Är unikt i objektet.

Kolumn-ID:t kanske inte är sekventiella.
system_type_id tinyint ID för kolumnens systemtyp
user_type_id int ID för den typ av kolumn som definieras av användaren.

Om du vill returnera namnet på typen ansluter du till katalogvyn sys.types i den här kolumnen.
max_length smallint Maximal längd (i byte) för kolumnen.

-1 = Kolumndatatypen är varchar(max), nvarchar(max), varbinary(max)eller xml-.

För text kolumner är max_length-värdet 16 eller värdet som anges av sp_tableoption 'text in row'.
precision tinyint Precision för kolumnen om den är numerisk. annars . 0
scale tinyint Kolumnens skala om den är numerisk; annars, 0.
collation_name sysname Namn på kolumnens sortering om det är teckenbaserat; annars, NULL.
is_nullable bit 1 = Kolumnen är nollbar.
is_ansi_padded bit 1 = Kolumnen använder ANSI_PADDING ON beteende om tecken, binär eller variant.

0 = Kolumnen är inte tecken, binär eller variant.
is_rowguidcol bit 1 = Kolumnen är en deklarerad ROWGUIDCOL.
is_identity bit 1 = Kolumnen har identitetsvärden.
is_computed bit 1 = Kolumnen är en beräknad kolumn.
is_filestream bit 1 = Kolumnen deklareras använda filströmslagring.
is_replicated bit 1 = Kolumnen replikeras.
is_non_sql_subscribed bit 1 = Kolumnen har en icke-SQL Server-prenumerant.
is_merge_published bit 1 = Kolumnen är sammanslagen.
is_dts_replicated bit 1 = Kolumnen replikeras med hjälp av SSIS.
is_xml_document bit 1 = Innehållet är ett komplett XML-dokument.

0 = Innehållet är ett dokumentfragment, eller så är kolumndatatypen inte xml.
xml_collection_id int Icke-noll om kolumndatatypen är xml och XML skrivs. Värdet är ID:t för samlingen som innehåller det validerande XML-schemanamnrymden för kolumnen.

0 = Ingen XML-schemasamling.
default_object_id int ID för standardobjektet, oavsett om det är en fristående sys.sp_bindefault eller en inline, kolumnnivåbegränsning DEFAULT . Kolumnen parent_object_id i ett inline-kolumnnivå-standardobjekt är en referens tillbaka till tabellen själv. Eller, 0 om det inte finns någon standard.
rule_object_id int ID för den fristående regeln som är bunden till kolumnen genom att använda sys.sp_bindrule.

0 = Ingen fristående regel.

För begränsningar på kolumnnivå CHECK , se sys.check_constraints.
is_sparse bit 1 = Kolumnen är en gles kolumn. Mer information finns i Använda glesa kolumner.
is_column_set bit 1 = Kolumn är en kolumnuppsättning. Mer information finns i Använda kolumnuppsättningar.
generated_always_type tinyint Identifierar när kolumnvärdet genereras (alltid 0 för kolumner i systemtabeller):

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

Mer information finns i temporala tabeller.

gäller för: SQL Server 2016 (13.x) och senare SQL Database. 7, 8, 9gäller 10 endast SQL-databasen.
generated_always_type_desc nvarchar(60) gäller för: SQL Server 2016 (13.x) och senare SQL Database.

Textbeskrivning av generated_always_type's värde (alltid NOT_APPLICABLE för kolumner i systemtabeller)

NOT_APPLICABLE
AS_ROW_START
AS_ROW_END

Gäller för: SQL Server 2022 (16.x) och senare versioner och SQL Database

AS_TRANSACTION_ID_START
AS_TRANSACTION_ID_END
AS_SEQUENCE_NUMBER_START
AS_SEQUENCE_NUMBER_END
ledger_view_column_type tinyint Om inte NULLanger anger typen av en kolumn i en transaktionsregistervy:

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

Mer information om databasregister finns i Ledger.

Gäller för: SQL Server 2022 (16.x) och senare versioner och SQL Database.
ledger_view_column_type_desc nvarchar(60) Om inte NULLinnehåller innehåller en textbeskrivning av typen av en kolumn i en transaktionsregistervy:

TRANSACTION_ID
SEQUENCE_NUMBER
OPERATION_TYPE
OPERATION_TYPE_DESC

Gäller för: SQL Server 2022 (16.x) och senare versioner och SQL Database.
is_dropped_ledger_column bit Anger en tabellkolumn i transaktionsregistret som har tagits bort.

Gäller för: SQL Server 2022 (16.x) och senare versioner och SQL Database
vector_dimensions int Anger hur många dimensioner vektorn har.

Gäller för: SQL Server 2025 (17.x) och senare versioner, samt SQL Database
vector_base_type tinyint Anger den datatyp som används för att lagra värden för vektordimensioner.

0 = 32-bitars (enkelprecision) flottör
1 = 16-bitars (halvprecision) flottör 1

Gäller för: SQL Server 2025 (17.x) och senare versioner, samt SQL Database
vector_base_type_desc nvarchar(10) Innehåller textbeskrivningen för den datatyp som används för att lagra vektordimensionsvärden.

Gäller för: SQL Server 2025 (17.x) och senare versioner, samt SQL Database

1 För mer information, se Halvprecisionsflyttalsformat.

Permissions

Synligheten för metadata i katalogvyer är begränsad till skyddsbara objekt som en användare antingen äger eller som användaren har beviljats viss behörighet för. Mer information finns i Konfiguration av synlighet för metadata.