Udostępnij za pomocą


sys.system_columns (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricHurtownia danych w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Zawiera wiersz dla każdej kolumny obiektów systemowych, które mają kolumny.

Nazwa kolumny Typ danych Description
object_id int Identyfikator obiektu, do którego należy ta kolumna.
name sysname Nazwa kolumny. Jest unikatowy w obiekcie.
column_id int Identyfikator kolumny. Jest unikatowy w obiekcie.

Identyfikatory kolumn mogą nie być sekwencyjne.
system_type_id tinyint Identyfikator typu systemowego kolumny
user_type_id int Identyfikator typu kolumny zdefiniowanej przez użytkownika.

Aby zwrócić nazwę typu, dołącz do widoku katalogu sys.types w tej kolumnie.
max_length smallint Maksymalna długość (w bajtach) kolumny.

-1 = Typ danych kolumny to varchar(max), nvarchar(max), varbinary(max)lub xml.

W przypadku kolumn tekstowychmax_length wartość to 16 lub wartość ustawiona przez sp_tableoption 'text in row'wartość .
precision tinyint Precyzja kolumny, jeśli jest oparta na wartości liczbowej; w przeciwnym razie, 0.
scale tinyint Skala kolumny, jeśli jest oparta na liczbach; w przeciwnym razie . 0
collation_name sysname Nazwa zestawu kolumny, jeśli jest oparty na znakach; w przeciwnym razie . NULL
is_nullable bit 1 = Kolumna jest nieważna.
is_ansi_padded bit 1 = Kolumna używa ANSI_PADDING ON zachowania znaku, binarnego lub wariantu.

0 = Kolumna nie jest znakiem, binarnym ani wariantem.
is_rowguidcol bit 1 = Kolumna to zadeklarowany ROWGUIDCOL.
is_identity bit 1 = Kolumna ma wartości tożsamościowe.
is_computed bit 1 = Kolumna to obliczona kolumna.
is_filestream bit 1 = Kolumna deklarowana jest do korzystania z pamięci strumieniowej plików.
is_replicated bit 1 = Kolumna jest replikowana.
is_non_sql_subscribed bit 1 = Kolumna ma subskrybenta nieobsługującego SQL Server.
is_merge_published bit 1 = Kolumna jest publikowana w wyniku połączenia.
is_dts_replicated bit 1 = Kolumna jest replikowana za pomocą SSIS.
is_xml_document bit 1 = Treść to kompletny dokument XML.

0 = Treść to fragment dokumentu lub typ danych kolumny nie jest xml.
xml_collection_id int Bez zera, jeśli typ danych kolumny to xml , a kod XML jest wpisany. Wartość ta to identyfikator kolekcji zawierającej walidującą przestrzeń nazw schematu XML tej kolumny.

0 = Brak kolekcji schematów XML.
default_object_id int ID domyślnego obiektu, niezależnie od tego, czy jest to samodzielny sys.sp_bindefault, czy ograniczenie na poziomie DEFAULT kolumn w linii. Kolumna parent_object_id domyślnego obiektu na poziomie kolumny w linii jest odniesieniem do samej tabeli. Albo 0 jeśli nie ma domyślnego przepisu.
rule_object_id int ID samodzielnej reguły powiązanej z kolumną za pomocą .sys.sp_bindrule

0 = Brak reguły autonomicznej.

Aby uzyskać informacje o ograniczeniach na poziomie CHECK kolumny, zobacz sys.check_constraints.
is_sparse bit 1 = Kolumna jest kolumną rozrzedliwą. Aby uzyskać więcej informacji, zobacz Use sparse columns (Używanie rozrzednych kolumn).
is_column_set bit 1 = Kolumna jest zestawem kolumn. Aby uzyskać więcej informacji, zobacz Używanie zestawów kolumn.
generated_always_type tinyint Identyfikuje, kiedy generowana jest wartość kolumny (zawsze 0 dla kolumn w tabelach systemowych):

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

Aby uzyskać więcej informacji, zobacz Tabele czasowe.

Dotyczy: SQL Server 2016 (13.x) i nowszych, SQL Database. 7, 8, 9, 10 dotyczy tylko bazy danych SQL.
generated_always_type_desc nvarchar(60) Dotyczy: SQL Server 2016 (13.x) i nowszych, SQL Database.

Tekstowy opis generated_always_typewartości 's (zawsze NOT_APPLICABLE dla kolumn w tabelach systemowych)

NOT_APPLICABLE
AS_ROW_START
AS_ROW_END

Dotyczy: SQL Server 2022 (16.x) i nowsze wersje oraz SQL Database

AS_TRANSACTION_ID_START
AS_TRANSACTION_ID_END
AS_SEQUENCE_NUMBER_START
AS_SEQUENCE_NUMBER_END
ledger_view_column_type tinyint Jeśli nie NULL, wskazuje typ kolumny w widoku rejestru:

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

Aby uzyskać więcej informacji na temat rejestru bazy danych, zobacz Rejestr.

Dotyczy: SQL Server 2022 (16.x) i nowsze wersje oraz SQL Database.
ledger_view_column_type_desc nvarchar(60) Jeśli nie NULL, zawiera tekstowy opis typu kolumny w widoku rejestru:

TRANSACTION_ID
SEQUENCE_NUMBER
OPERATION_TYPE
OPERATION_TYPE_DESC

Dotyczy: SQL Server 2022 (16.x) i nowsze wersje oraz SQL Database.
is_dropped_ledger_column bit Wskazuje kolumnę tabeli rejestru, która została porzucona.

Dotyczy: SQL Server 2022 (16.x) i nowsze wersje oraz SQL Database
vector_dimensions int Wskazuje, ile wymiarów ma wektor.

Dotyczy do: SQL Server 2025 (17.x) i nowszych wersji oraz SQL Database
vector_base_type tinyint Wskazuje typ danych używany do przechowywania wartości wymiarów wektorów.

0 = 32-bitowy (pojedynczy precyzja) pływak
1 = 16-bitowa (półprecyzja) float 1

Dotyczy do: SQL Server 2025 (17.x) i nowszych wersji oraz SQL Database
vector_base_type_desc nvarchar(10) Zawiera tekstowy opis typu danych używany do przechowywania wartości wymiarów wektorowych.

Dotyczy do: SQL Server 2025 (17.x) i nowszych wersji oraz SQL Database

1 Więcej informacji można znaleźć w artykule Format zmiennoprzecinkowy o półprecyzji.

Permissions

Widoczność metadanych w widokach katalogu jest ograniczona do obiektów, których właścicielem jest użytkownik lub w stosunku do których użytkownik ma jakieś uprawnienia. Aby uzyskać więcej informacji, zobacz Konfiguracja widoczności metadanych.