Dela via


sys.all_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 Förhandsversion av Microsoft Fabric

Visar en union av alla kolumner som tillhör användardefinierade objekt och systemobjekt.

Column name Data type 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 textkolumner är max_length värdet 16 eller värdet som anges av sp_tableoption "text i rad".
precision tinyint Precision för kolumnen om den är numerisk. annars 0.
scale tinyint Skala kolumnen om den är numerisk. annars 0.
collation_name sysname Namn på sortering av kolumnen om den är teckenbaserad. annars NULL.
is_nullable bit 1 = Kolumnen är null.
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 att 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 sammanslagningspublicerad.
is_dts_replicated bit 1 = Kolumnen replikeras med hjälp av SSIS.
is_xml_document bit 1 = Innehållet är ett fullständigt XML-dokument.

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

0 = ingen XML-schemasamling.
default_object_id int ID för standardobjektet, oavsett om det är en fristående sys.sp_bindefault eller en standardvillkor på radnivå. Den parent_object_id kolumnen i ett standardobjekt på infogad kolumnnivå är en referens tillbaka till själva tabellen.

0 = Inget standardvärde.
rule_object_id int ID för den fristående regeln som är bunden till kolumnen med hjälp av sys.sp_bindrule.

0 = Ingen fristående regel.

Mer information om checkbegränsningar på kolumnnivå finns i sys.check_constraints (Transact-SQL).
is_sparse bit 1 = Kolumnen är en gles kolumn. För mer information, se Använda glesa kolumner.
is_column_set bit 1 = Kolumnen är en kolumnuppsättning. Mer information finns i Använda kolumnuppsättningar.
generated_always_type tinyint gäller för: SQL Server 2016 (13.x) och senare SQL Database. 7, 8, 9, 10 gäller endast för SQL Database.

Identifierar när kolumnvärdet genereras (kommer alltid att vara 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 (relationsdatabaser).
generated_always_type_desc nvarchar(60) gäller för: SQL Server 2016 (13.x) och senare SQL Database.

Textbeskrivning av generated_always_typevärdet (alltid NOT_APPLICABLE för kolumner i systemtabeller)

NOT_APPLICABLE
AS_ROW_START
AS_ROW_END

Gäller för: Från och med 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 Gäller för: Från och med SQL Server 2022 (16.x), SQL Database.

Om inte NULL anger du typen av kolumn i en transaktionsregistervy:

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

Mer information om databasregister finns i Ledger.
ledger_view_column_type_desc nvarchar(60) Gäller för: Från och med SQL Server 2022 (16.x), SQL Database.

Om inte NULL innehåller en textbeskrivning av typen av en kolumn i en transaktionsvy:

TRANSACTION_ID
SEQUENCE_NUMBER
OPERATION_TYPE
OPERATION_TYPE_DESC

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. För mer information, se inställningar för metadatasynlighet.

See Also

objektkatalogvyer (Transact-SQL)
katalogvyer (Transact-SQL)
frågor och svar om SQL Server System Catalog
sys.columns (Transact-SQL)
sys.system_columns (Transact-SQL)
sys.computed_columns (Transact-SQL)