Freigeben über


sys.system_columns (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics-Endpunkt in Microsoft Fabric Warehouse in Microsoft Fabric

Enthält eine Zeile für jede Spalte von Systemobjekten, die Spalten aufweisen.

Spaltenname Datentyp BESCHREIBUNG
object_id int Die ID des Objekts, zu dem diese Spalte gehört.
name sysname Name der Spalte. Ist eindeutig innerhalb des Objekts.
column_id int ID der Spalte. Ist eindeutig innerhalb des Objekts.

Spalten-IDs sind möglicherweise nicht sequenziell.
system_type_id tinyint Die ID des Systemtyps der Spalte.
user_type_id int Die ID des vom Benutzer definierten Typs der Spalte.

Stellen Sie einen Join mit der sys.types -Katalogsicht für diese Spalte her, um den Namen des Typs zurückzugeben.
max_length smallint Maximale Länge der Spalte (in Bytes).

-1 = Der Spaltendatentyp lautet varchar(max), nvarchar(max), varbinary(max) oder xml.

Bei Spalten des Typs text beträgt der max_length-Wert 16 oder entspricht dem durch sp_tableoption 'text in row' festgelegten Wert.
precision tinyint Die Genauigkeit der Spalte, wenn sie auf numerischen Werten basiert; andernfalls 0.
scale tinyint Dezimalstellen der Spalte, wenn diese numerischen Ursprungs ist, andernfalls 0.
collation_name sysname Name der Sortierung der Spalte, wenn zeichenbasiert; andernfalls NULL.
is_nullable bit 1 = Spalte lässt NULL-Werte zu.
is_ansi_padded bit 1 = Spalte verwendet ANSI_PADDING ON-Verhalten, wenn es sich um Zeichen- oder Binärdaten bzw. Daten vom Typ Variant handelt.

0 = Bei der Spalte handelt es sich um Zeichen- oder Binärdaten bzw. Daten vom Typ Variant.
is_rowguidcol bit 1 = Spalte ist eine deklarierte ROWGUIDCOL.
is_identity bit 1 = Spalte verfügt über Identitätswerte.
is_computed bit 1 = Spalte ist eine berechnete Spalte.
is_filestream bit 1 = Spalte wurde für die Verwendung der Dateidatenstrom-Speicherung deklariert.
is_replicated bit 1 = Spalte wird repliziert.
is_non_sql_subscribed bit 1 = Die Spalte hat einen Nicht-SQL Server-Abonnenten.
is_merge_published bit 1 = Spalte verwendet die Mergeveröffentlichung.
is_dts_replicated bit 1 = Die Spalte wird mithilfe von SSIS repliziert.
is_xml_document bit 1 = Der Inhalt ist ein vollständiges XML-Dokument.

0 = Der Inhalt ist ein Dokumentfragment, oder der Spaltendatentyp ist nicht xml.
xml_collection_id int Ungleich 0, wenn der Spaltendatentyp xml ist und wenn XML typisiert ist. Der Wert entspricht der ID der Auflistung, die den prüfenden XML-Schemanamespace der Spalte enthält.

0 = Keine XML-Schemaauflistung
default_object_id int ID des Standardobjekts, unabhängig davon, ob es sich um eine eigenständige sys.sp_bindefault oder eine DEFAULT-Inlineeinschränkung auf Spaltenebene handelt. Die Spalte parent_object_id eines DEFAULT-Inlineobjekts auf Spaltenebene ist ein Verweis auf die Tabelle selbst. Ist 0, wenn kein Standardwert vorhanden ist.
rule_object_id int ID der eigenständigen Regel, die mithilfe von sys.sp_bindrule gebunden wird.

0 = Keine eigenständige Regel.

CHECK-Einschränkungen auf Spaltenebene finden Sie unter sys.check_constraints (Transact-SQL).
is_sparse bit 1 = Spalte ist eine Sparsespalte. Weitere Informationen finden Sie unter Verwenden von Spalten mit geringer Dichte.
is_column_set bit 1 = Spalte ist ein Spaltensatz. Weitere Informationen finden Sie unter Verwenden von Spaltensätzen.
generated_always_type tinyint Gilt für: SQL Server 2016 (13.x) und höher, SQL-Datenbank. Die Werte 7, 8, 9, 10 gelten nur für SQL-Datenbank.

Gibt an, wann der Spaltenwert generiert wird (für Spalten in Systemtabellen immer 0):

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

Weitere Informationen finden Sie unter Temporale Tabellen (relationale Datenbanken).
generated_always_type_desc nvarchar(60) Gilt für: SQL Server 2016 (13.x) und höher, SQL-Datenbank.

Textbeschreibung des Werts ( generated_always_typeimmer NOT_APPLICABLE für Spalten in Systemtabellen)

NOT_APPLICABLE
AS_ROW_START
AS_ROW_END

Gilt für: Versionen ab SQL Server 2022 (16.x), SQL-Datenbank

AS_TRANSACTION_ID_START
AS_TRANSACTION_ID_END
AS_SEQUENCE_NUMBER_START
AS_SEQUENCE_NUMBER_END
ledger_view_column_type tinyint Gilt für: Versionen ab SQL Server 2022 (16.x), SQL-Datenbank

Wenn der Wert nicht NULL lautet, gibt er den Typ einer Spalte in einer Ledgersicht an:

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

Weitere Informationen zum Datenbankledger finden Sie unter Ledger.
ledger_view_column_type_desc nvarchar(60) Gilt für: Versionen ab SQL Server 2022 (16.x), SQL-Datenbank

Wenn der Wert nicht NULL lautet, enthält er eine Textbeschreibung des Typs einer Spalte in einer Ledgersicht:

TRANSACTION_ID
SEQUENCE_NUMBER
OPERATION_TYPE
OPERATION_TYPE_DESC

Berechtigungen

Die Sichtbarkeit der Metadaten in Katalogsichten ist auf sicherungsfähige Elemente eingeschränkt, bei denen der Benutzer entweder der Besitzer ist oder für die dem Benutzer eine Berechtigung erteilt wurde. Weitere Informationen finden Sie unter Metadata Visibility Configuration.

Weitere Informationen

Katalogsichten für Objekte (Transact-SQL)
Katalogsichten (Transact-SQL)
FAQ: Abfragen des SQL Server-Systemkatalogs
sys.columns (Transact-SQL)
sys.all_columns (Transact-SQL)
sys.computed_columns (Transact-SQL)