sys.columns (Transact-SQL)
Gilt für:SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Endpunkt in Microsoft Fabric
Warehouse 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 von generated_always_type (für Spalten in Systemtabellen immer NOT_APPLICABLE).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 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
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)