sys.columns (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-Endpunkt in Microsoft FabricWarehouse in Microsoft Fabric

Gibt eine Zeile für jede Spalte eines Objekts zurück, das Spalten besitzt, z. B. Sichten oder Tabellen. Im Folgenden finden Sie eine Liste der Objekttypen mit Spalten:

  • Assembly-Tabellenwertfunktionen (FT)

  • Inline-SQL-Tabellenwertfunktionen (IF)

  • Interne Tabellen (IT)

  • Systemtabellen (S)

  • SQL-Tabellenwertfunktionen (TF)

  • Benutzertabellen (U)

  • Sichten (V)

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 (in Byte) für die Spalte.

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

Bei Spalten des Typs text, ntext und image lautet der max_length-Wert 16 (repräsentiert nur den 16-Byte-Zeiger) oder der Wert, der durch die sp_tableoption „text in row“ festgelegt wird.
precision (Genauigkeit) tinyint Die Genauigkeit der Spalte, wenn sie auf numerischen Werten basiert; andernfalls 0.
Skalierung tinyint Die Skalierung der Spalte, wenn sie auf numerischen Werten basiert; andernfalls 0.
collation_name sysname Name der Sortierung der Spalte, wenn diese zeichenbasiert ist, 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 = Die Spalte verfügt über Identitätswerte.
is_computed bit 1 = Spalte ist eine berechnete Spalte.
is_filestream bit 1 = Spalte ist eine FILESTREAM-Spalte.
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 Datentyp der Spalte xml lautet und der XML-Code 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 Die ID des Standardobjekts, unabhängig davon, ob das Objekt ein eigenständiges sys.sp_bindefault-Objekt ist oder eine DEFAULT-Inlineeinschränkung auf Spaltenebene. Die parent_object_id-Spalte eines DEFAULT-Inlineobjekts ist ein Verweis auf die Tabelle selbst.

0 = Kein Standard.
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 Spalten mit geringer Dichte.
generated_always_type tinyint Gilt für: SQL Server 2016 (13.x) und höher, SQL-Datenbank. 5, 6, 7, 8 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
5 = AS_TRANSACTION_ID_START
6 = AS_TRANSACTION_ID_END
7 = AS_SEQUENCE_NUMBER_START
8 = 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
encryption_type int Gilt für: SQL Server 2016 (13.x) und höher, SQL-Datenbank.

Verschlüsselungstyp:

1 = Deterministische Verschlüsselung

2 = Verschlüsselung nach dem Zufallsprinzip
encryption_type_desc nvarchar(64) Gilt für: SQL Server 2016 (13.x) und höher, SQL-Datenbank.

Beschreibung des Verschlüsselungstyps:

RANDOMIZED

DETERMINISTIC
encryption_algorithm_name sysname Gilt für: SQL Server 2016 (13.x) und höher, SQL-Datenbank.

Name des Verschlüsselungsalgorithmus.

Nur AEAD_AES_256_CBC_HMAC_SHA_512 wird unterstützt.
column_encryption_key_id int Gilt für: SQL Server 2016 (13.x) und höher, SQL-Datenbank.

ID des Spaltenverschlüsselungsschlüssels.
column_encryption_key_database_name sysname Gilt für: SQL Server 2016 (13.x) und höher, SQL-Datenbank.

Der Name der Datenbank, in der der Spaltenverschlüsselungsschlüssel vorhanden ist, wenn sie sich von der Datenbank der Spalte unterscheidet. NULL, wenn der Schlüssel in derselben Datenbank wie die Spalte vorhanden ist.
is_hidden bit Gilt für: SQL Server 2016 (13.x) und höher, SQL-Datenbank.

Gibt an, ob die Spalte ausgeblendet ist:

0 = reguläre, nicht ausgeblendete, sichtbare Spalte

1 = ausgeblendete Spalte
is_masked bit Gilt für: SQL Server 2016 (13.x) und höher, SQL-Datenbank.

Gibt an, ob die Spalte durch dynamische Datenmaskierung maskiert ist:

0 = reguläre, nicht maskierte Spalte

1 = Spalte ist maskiert
graph_type int Interne Spalte mit einer Gruppe von Werten. Die Werte liegen zwischen 1 und 8 für Diagrammspalten und lauten NULL für andere.
graph_type_desc nvarchar(60) Interne Spalte mit einer Gruppe von Werten.
is_data_deletion_filter_column bit Gilt für: Azure SQL Edge. Gibt an, ob es sich bei der Spalte um die Filterspalte für die Datenbeibehaltung für die Tabelle handelt.
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
is_dropped_ledger_table_column bit Gilt für: Versionen ab SQL Server 2022 (16.x), SQL-Datenbank

Gibt eine Ledgertabellenspalte an, die gelöscht wurde.

Berechtigungen

Die Sichtbarkeit der Metadaten in Katalogansichten ist auf sicherungsfähige Elemente beschränkt, die ein Benutzer besitzt oder für die der Benutzer eine Berechtigung erteilt hat. Weitere Informationen finden Sie unter Metadata Visibility Configuration.

Weitere Informationen

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