Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Analyseendpunkt in Microsoft Fabric
Lagerhaus in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Gibt eine Zeile für jede Spalte eines Objekts zurück, das Spalten besitzt, z. B. Sichten oder Tabellen. Die folgende Liste enthält die 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 = Spaltendatentyp ist varchar(max), nvarchar(max), varbinary(max) oder xml.Für Text-, ntext- und Bildspalten ist max_length der 16 Wert (nur der 16-Byte-Zeiger) oder der von sp_tableoption 'text in row'. |
precision |
tinyint | Genauigkeit der Spalte, wenn numerisch basiert; andernfalls . 0 |
scale |
tinyint | Skalierung der Spalte, wenn numerisch basiert; andernfalls . 0 |
collation_name |
sysname | Name der Sortierung der Spalte, wenn diese zeichenbasiert ist, andernfalls NULL. |
is_nullable |
Bit |
1 = Spalte ist nullwertebar.0 = Spalte kann nicht null sein. |
is_ansi_padded |
Bit |
1 = Spalte verwendet ANSI_PADDING ON Verhalten, wenn Zeichen, Binärdatei oder Variante0 = Spalte ist kein Zeichen, keine Binärdatei oder keine Variante. |
is_rowguidcol |
Bit |
1 = Spalte ist eine deklarierte ROWGUIDCOL |
is_identity |
Bit |
1 = Spalte hat 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 = Spalte hat einen Nicht-SQL Server-Abonnent |
is_merge_published |
Bit |
1 = Spalte wird zusammengeführt |
is_dts_replicated |
Bit |
1 = Spalte wird mithilfe von SSIS repliziert |
is_xml_document |
Bit |
1 = Inhalt ist ein vollständiges XML-Dokument.0 = Inhalt ist ein Dokumentfragment, oder der Spaltendatentyp ist keine XML |
xml_collection_id |
Int | Ungleich 0, wenn der Datentyp der Spalte xml lautet und der XML-Code typisiert ist. Der Wert ist die ID der Auflistung, die den validierenden XML-Schemanamespace der Spalte enthält.0 = Keine XML-Schemaauflistung |
default_object_id |
Int | ID des Standardobjekts, unabhängig davon, ob es sich um ein eigenständiges Objekt sp_bindefault oder eine Inline-Einschränkung auf Spaltenebene DEFAULT handelt. Die Spalte parent_object_id eines Standardobjekts auf Inline-Spaltenebene ist eine Referenz zurück auf die Tabelle selbst.0 = Kein Standard |
rule_object_id |
Int | ID der eigenständigen Regel, die an die Spalte gebunden ist, indem verwendet sys.sp_bindrulewird.0 = Keine eigenständige Regel. Informationen zu Einschränkungen auf Spaltenebene CHECK finden Sie unter sys.check_constraints. |
is_sparse |
Bit |
1 = Spalte ist eine geringe Spalte. Weitere Informationen finden Sie unter Verwenden von Spalten mit geringem Zeitbedarf. |
is_column_set |
Bit |
1 = Spalte ist ein Spaltensatz. Weitere Informationen finden Sie unter Verwenden von Spalten mit geringem Zeitbedarf. |
generated_always_type |
tinyint | Gibt an, wann der Spaltenwert generiert wird (ist immer 0 für Spalten in Systemtabellen).Gilt für: SQL Server 2016 (13.x) und spätere Versionen sowie SQL-Datenbank. 0 = NOT_APPLICABLE1 = AS_ROW_START2 = AS_ROW_ENDGilt für: SQL Server 2022 (16.x) und höhere Versionen und SQL-Datenbank. 5 = AS_TRANSACTION_ID_START6 = AS_TRANSACTION_ID_END7 = AS_SEQUENCE_NUMBER_START8 = AS_SEQUENCE_NUMBER_ENDWeitere Informationen finden Sie unter Temporale Tabellen. |
generated_always_type_desc |
nvarchar(60) | Textbeschreibung des generated_always_type Werts (immer NOT_APPLICABLE für Spalten in Systemtabellen)Gilt für: SQL Server 2016 (13.x) und spätere Versionen sowie SQL-Datenbank. NOT_APPLICABLEAS_ROW_STARTAS_ROW_ENDGilt für: SQL Server 2022 (16.x) und höhere Versionen und SQL-Datenbank. AS_TRANSACTION_ID_STARTAS_TRANSACTION_ID_ENDAS_SEQUENCE_NUMBER_STARTAS_SEQUENCE_NUMBER_END |
encryption_type |
Int | Verschlüsselungstyp:1 = Deterministische Verschlüsselung2 = Zufällige VerschlüsselungGilt für: SQL Server 2016 (13.x) und höhere Versionen und SQL-Datenbank |
encryption_type_desc |
nvarchar(64) | Beschreibung des Verschlüsselungstyps:RANDOMIZEDDETERMINISTICGilt für: SQL Server 2016 (13.x) und höhere Versionen und SQL-Datenbank |
encryption_algorithm_name |
sysname | Name des Verschlüsselungsalgorithmus. Nur AEAD_AES_256_CBC_HMAC_SHA_512 wird unterstützt.Gilt für: SQL Server 2016 (13.x) und höhere Versionen und SQL-Datenbank |
column_encryption_key_id |
Int | ID des Spaltenverschlüsselungsschlüssels (CEK). Gilt für: SQL Server 2016 (13.x) und höhere Versionen und SQL-Datenbank |
column_encryption_key_database_name |
sysname | 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.Gilt für: SQL Server 2016 (13.x) und höhere Versionen und SQL-Datenbank |
is_hidden |
Bit | Gibt an, ob die Spalte ausgeblendet ist:0 = normale, nicht ausgeblendete, sichtbare Spalte1 = ausgeblendete SpalteGilt für: SQL Server 2016 (13.x) und höhere Versionen und SQL-Datenbank |
is_masked |
Bit | Gibt an, ob die Spalte durch dynamische Datenformatierung maskiert wird:0 = normale, nicht maskierte Spalte1 = Spalte ist maskiertGilt für: SQL Server 2016 (13.x) und höhere Versionen und SQL-Datenbank |
graph_type |
Int | Interne Spalte mit einer Gruppe von Werten. Die Werte liegen zwischen 1 und 8 für Diagrammspalten und NULL für andere. |
graph_type_desc |
nvarchar(60) | Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt. |
is_data_deletion_filter_column |
Bit | Gibt an, ob es sich bei der Spalte um die Filterspalte für die Datenbeibehaltung für die Tabelle handelt. Gilt für: Azure SQL Edge |
ledger_view_column_type |
Int | Andernfalls NULLgibt die Art einer Spalte in einer Hauptbuchansicht an:1 = TRANSACTION_ID2 = SEQUENCE_NUMBER3 = OPERATION_TYPE4 = OPERATION_TYPE_DESCWeitere Informationen finden Sie in der Übersicht über Ledger. Gilt für: SQL Server 2022 (16.x) und höhere Versionen und SQL-Datenbank |
ledger_view_column_type_desc |
nvarchar(60) | Wenn nicht NULL, enthält eine textbezogene Beschreibung des Typs einer Spalte in einer Hauptbuchansicht:TRANSACTION_IDSEQUENCE_NUMBEROPERATION_TYPEOPERATION_TYPE_DESCGilt für: SQL Server 2022 (16.x) und höhere Versionen und SQL-Datenbank |
is_dropped_ledger_column |
Bit | Gibt eine Buchtabellenspalte an, die gelöscht wurde. Gilt für: SQL Server 2022 (16.x) und höhere Versionen und SQL-Datenbank |
vector_dimensions |
Int | Gibt an, wie viele Dimensionen der Vektor hat. Gilt für: SQL Server 2025 (17.x) und neuere Versionen sowie SQL Database |
vector_base_type |
tinyint | Gibt den Datentyp an, der zum Speichern von Vektorabmessungen verwendet wird.0 = 32-Bit-(Einzelpräzisions-)Float1 = 16-Bit (halb präzise) Float 1Gilt für: SQL Server 2025 (17.x) und neuere Versionen sowie SQL Database |
vector_base_type_desc |
nvarchar(10) | Enthält die Textbeschreibung des Datentyps, der zum Speichern von Vektorabmessungen verwendet wird. Gilt für: SQL Server 2025 (17.x) und neuere Versionen sowie SQL Database |
1 Für weitere Informationen siehe Halbpräzisions-Gleitkomma-Format.
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 in der Konfiguration der Metadatensichtbarkeit.
Anwendungsbeispiele
Abrufen von Spaltendetails für eine Tabelle
Um Metadaten für Spalten in einer Tabelle zu erhalten, verwenden Sie folgenden Code:
CREATE TABLE dbo.[sample]
(
id INT NOT NULL,
col1 VARBINARY (10) NULL
);
SELECT c.[name] AS column_name,
t.[name] AS [type_name],
c.[max_length],
c.[precision],
c.[scale]
FROM sys.columns AS c
INNER JOIN sys.types AS t
ON c.user_type_id = t.user_type_id
WHERE object_id = object_id('dbo.sample');