Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Warehouse i Microsoft Fabric
Returnerar en rad för varje kolumn i ett objekt som har kolumner, till exempel vyer eller tabeller. Följande lista innehåller de objekttyper som har kolumner:
- Tabellvärdessammansättningsfunktioner (FT)
- Infogade tabellvärdesbaserade SQL-funktioner (IF)
- Interna tabeller (IT)
- Systemtabeller (S)
- Tabellvärdesbaserade SQL-funktioner (TF)
- Användartabeller (U)
- Vyer (V)
Kolumnnamn | Datatyp | Beskrivning |
---|---|---|
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-, ntext- och bildkolumner max_length är 16 värdet (representerar endast pekaren på 16 byte) 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 | Skala av kolumn om den är numeriskt baserad. annars . 0 |
collation_name |
sysname | Namn på sortering av kolumnen om den är teckenbaserad. annars NULL . |
is_nullable |
bit |
1 = Kolumnen är null0 = Kolumnen kan inte ogiltigförklaras |
is_ansi_padded |
bit |
1 = Kolumnen använder ANSI_PADDING ON beteende om tecken, binär eller variant0 = 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 = Kolumn är en beräknad kolumn |
is_filestream |
bit |
1 = Kolumnen är en FILESTREAM-kolumn |
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-dokument0 = Innehållet är ett dokumentfragment, eller så är kolumndatatypen inte xml |
xml_collection_id |
Int | Nonzero om datatypen för kolumnen är xml och XML skrivs. Värdet är ID:t för samlingen som innehåller det verifierande XML-schemanamnområdet för kolumnen0 = Ingen XML-schemasamling |
default_object_id |
Int | ID för standardobjektet, oavsett om det är ett fristående objekt sp_bindefault eller en infogad begränsning på kolumnnivå DEFAULT . 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. 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 glesa kolumner. |
generated_always_type |
tinyint | Identifierar när kolumnvärdet genereras (är alltid 0 för kolumner i systemtabeller).gäller för: SQL Server 2016 (13.x) och senare versioner och SQL Database. 0 = NOT_APPLICABLE 1 = AS_ROW_START 2 = AS_ROW_END Gäller för: SQL Server 2022 (16.x) och senare versioner och SQL Database. 5 = AS_TRANSACTION_ID_START 6 = AS_TRANSACTION_ID_END 7 = AS_SEQUENCE_NUMBER_START 8 = AS_SEQUENCE_NUMBER_END Mer information finns i temporala tabeller. |
generated_always_type_desc |
nvarchar(60) | Textbeskrivning av generated_always_type värdet (alltid NOT_APPLICABLE för kolumner i systemtabeller)gäller för: SQL Server 2016 (13.x) och senare versioner och SQL Database. 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 |
encryption_type |
Int | Krypteringstyp:1 = Deterministisk kryptering2 = Randomiserad krypteringGäller för: SQL Server 2016 (13.x) och senare versioner och SQL Database |
encryption_type_desc |
nvarchar(64) | Beskrivning av krypteringstyp:RANDOMIZED DETERMINISTIC Gäller för: SQL Server 2016 (13.x) och senare versioner och SQL Database |
encryption_algorithm_name |
sysname | Namnet på krypteringsalgoritmen. Endast AEAD_AES_256_CBC_HMAC_SHA_512 stöds.Gäller för: SQL Server 2016 (13.x) och senare versioner och SQL Database |
column_encryption_key_id |
Int | ID för kolumnkrypteringsnyckeln (CEK). Gäller för: SQL Server 2016 (13.x) och senare versioner och SQL Database |
column_encryption_key_database_name |
sysname | Namnet på databasen där kolumnkrypteringsnyckeln finns om den skiljer sig från kolumnens databas.
NULL om nyckeln finns i samma databas som kolumnen.Gäller för: SQL Server 2016 (13.x) och senare versioner och SQL Database |
is_hidden |
bit | Anger om kolumnen är dold:0 = vanlig, inte dold, synlig kolumn1 = dold kolumnGäller för: SQL Server 2016 (13.x) och senare versioner och SQL Database |
is_masked |
bit | Anger om kolumnen maskeras av dynamisk datamaskering:0 = vanlig, inte maskerad kolumn1 = kolumnen är maskeradGäller för: SQL Server 2016 (13.x) och senare versioner och SQL Database |
graph_type |
Int | Intern kolumn med en uppsättning värden. Värdena är mellan 1 och 8 för grafkolumner och NULL för andra. |
graph_type_desc |
nvarchar(60) | Identifieras endast i informationssyfte. Stöds inte. Framtida kompatibilitet garanteras inte. |
is_data_deletion_filter_column |
bit | Anger om kolumnen är kolumnen för datakvarhållningsfilter för tabellen. gäller för: Azure SQL Edge |
ledger_view_column_type |
Int | Om inte NULL anger anger typen av en kolumn i en transaktionsregistervy:1 = TRANSACTION_ID 2 = SEQUENCE_NUMBER 3 = OPERATION_TYPE 4 = OPERATION_TYPE_DESC Mer information finns i Översikt över transaktionsregister. Gäller för: SQL Server 2022 (16.x) och senare versioner och SQL Database |
ledger_view_column_type_desc |
nvarchar(60) | Om inte NULL , 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) förhandsversioner och senare versioner samt SQL Database |
vector_base_type |
Int | Anger den datatyp som används för att lagra värden för vektordimensioner.0 = 32-bitars flyttal (enkel precision) 1 = 16-bitars (halvprecision) flyttalGäller för: SQL Server 2025 (17.x) förhandsversioner och senare versioner samt SQL Database |
vector_base_type_desc |
Int | 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) förhandsversioner och senare versioner samt SQL Database |
Behörigheter
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.
Användningsexempel
Hämta kolumninformation för en tabell
Om du vill hämta metadata för kolumner i en tabell kan du använda följande kod:
CREATE TABLE dbo.[sample] (
id INT NOT NULL
,col1 VARBINARY(10) NULL
)
GO
SELECT c.[name] AS column_name
,t.[name] AS [type_name]
,c.[max_length]
,c.[precision]
,c.[scale]
FROM sys.columns c
INNER JOIN sys.types t ON c.user_type_id = t.user_type_id
WHERE object_id = object_id('dbo.sample');