sys.columns (Transact-SQL)sys.columns (Transact-SQL)

DIESES THEMA GILT FÜR: JaSQL Server (ab 2008) JaAzure SQL-DatenbankJaAzure SQL Data Warehouse JaParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Gibt eine Zeile für jede Spalte eines Objekts zurück, das Spalten besitzt, z. B. Sichten oder Tabellen.Returns a row for each column of an object that has columns, such as views or tables. Im Folgenden finden Sie eine Liste der Objekttypen mit Spalten:The following is a list of object types that have columns:

  • Assembly-Tabellenwertfunktionen (FT)Table-valued assembly functions (FT)

  • Inline-SQL-Tabellenwertfunktionen (IF)Inline table-valued SQL functions (IF)

  • Interne Tabellen (IT)Internal tables (IT)

  • Systemtabellen (S)System tables (S)

  • SQL-Tabellenwertfunktionen (TF)Table-valued SQL functions (TF)

  • Benutzertabellen (U)User tables (U)

  • Sichten (V)Views (V)

SpaltennameColumn name DatentypData type DescriptionDescription
object_idobject_id intint Die ID des Objekts, zu dem diese Spalte gehört.ID of the object to which this column belongs.
namename sysnamesysname Der Name der Spalte.Name of the column. Ist eindeutig innerhalb des Objekts.Is unique within the object.
column_idcolumn_id intint ID der Spalte.ID of the column. Ist eindeutig innerhalb des Objekts.Is unique within the object.

Spalten-IDs sind möglicherweise nicht sequenziell.Column IDs might not be sequential.
system_type_idsystem_type_id tinyinttinyint Die ID des Systemtyps der Spalte.ID of the system type of the column.
user_type_iduser_type_id intint Die ID des vom Benutzer definierten Typs der Spalte.ID of the type of the column as defined by the user.

Um den Namen des Typs zurückzugeben, verknüpfen Sie mit der sys.types -Katalogsicht für diese Spalte.To return the name of the type, join to the sys.types catalog view on this column.
max_lengthmax_length smallintsmallint Maximale Länge (in Byte) für die Spalte.Maximum length (in bytes) of the column.

-1 = Spaltendatentyp ist varchar(max), nvarchar(max), varbinary(max), oder Xml.-1 = Column data type is varchar(max), nvarchar(max), varbinary(max), or xml.

Für Text Spalten, die Max_length-Wert ist 16 oder dem durch Sp_tableoption 'Text in Row' festgelegten Wert.For text columns, the max_length value will be 16 or the value set by sp_tableoption 'text in row'.
precisionprecision tinyinttinyint Die Genauigkeit der Spalte, wenn sie auf numerischen Werten basiert; andernfalls 0.Precision of the column if numeric-based; otherwise, 0.
scalescale tinyinttinyint Die Skalierung der Spalte, wenn sie auf numerischen Werten basiert; andernfalls 0.Scale of column if numeric-based; otherwise, 0.
collation_namecollation_name sysnamesysname Der Name der Sortierung der Spalte, wenn Sie zeichenbasierte; Andernfalls wird NULL verwendet.Name of the collation of the column if character-based; otherwise, NULL.
is_nullableis_nullable bitbit 1 = Spalte lässt NULL-Werte zu.1 = Column is nullable.
is_ansi_paddedis_ansi_padded bitbit 1 = Spalte verwendet ANSI_PADDING ON-Verhalten, wenn es sich um Zeichen- oder Binärdaten bzw. Daten vom Typ Variant handelt.1 = Column uses ANSI_PADDING ON behavior if character, binary, or variant.

0 = Bei der Spalte handelt es sich um Zeichen- oder Binärdaten bzw. Daten vom Typ Variant.0 = Column is not character, binary, or variant.
is_rowguidcolis_rowguidcol bitbit 1 = Spalte ist eine deklarierte ROWGUIDCOL.1 = Column is a declared ROWGUIDCOL.
is_identityis_identity bitbit 1 = Die Spalte verfügt über Identitätswerte.1 = Column has identity values
is_computedis_computed bitbit 1 = Spalte ist eine berechnete Spalte.1 = Column is a computed column.
is_filestreamis_filestream bitbit 1 = Spalte ist eine FILESTREAM-Spalte.1 = Column is a FILESTREAM column.
is_replicatedis_replicated bitbit 1 = Spalte wird repliziert.1 = Column is replicated.
is_non_sql_subscribedis_non_sql_subscribed bitbit 1 = Die Spalte hat einen Nicht-SQL Server-Abonnenten.1 = Column has a non-SQL Server subscriber.
is_merge_publishedis_merge_published bitbit 1 = Spalte verwendet die Mergeveröffentlichung.1 = Column is merge-published.
is_dts_replicatedis_dts_replicated bitbit 1 = Die Spalte wird mithilfe von SSISSSIS repliziert.1 = Column is replicated by using SSISSSIS.
is_xml_documentis_xml_document bitbit 1 = Der Inhalt ist ein vollständiges XML-Dokument.1 = Content is a complete XML document.

0 = der Inhalt ist ein Dokumentfragment oder der Spaltendatentyp ist nicht Xml.0 = Content is a document fragment or the column data type is not xml.
xml_collection_idxml_collection_id intint Ungleich NULL, wenn der Datentyp der Spalte ist Xml und XML typisiert ist.Nonzero if the data type of the column is xml and the XML is typed. Der Wert entspricht der ID der Auflistung, die den prüfenden XML-Schemanamespace der Spalte enthält.The value will be the ID of the collection containing the validating XML schema namespace of the column.

0 = Keine XML-Schemaauflistung0 = No XML schema collection.
default_object_iddefault_object_id intint ID des Standardobjekts, unabhängig davon, ob es sich um ein eigenständiges Objekt handelt sp_bindefault, oder eine Inlinefunktion, DEFAULT-Einschränkung auf Spaltenebene.ID of the default object, regardless of whether it is a stand-alone object sys.sp_bindefault, or an inline, column-level DEFAULT constraint. Die parent_object_id-Spalte eines DEFAULT-Inlineobjekts ist ein Verweis auf die Tabelle selbst.The parent_object_id column of an inline column-level default object is a reference back to the table itself.

0 = Kein Standard.0 = No default.
rule_object_idrule_object_id intint ID der eigenständigen Regel, die mithilfe von sys.sp_bindrule gebunden wird.ID of the stand-alone rule bound to the column by using sys.sp_bindrule.

0 = Keine eigenständige Regel.0 = No stand-alone rule. CHECK-Einschränkungen auf Spaltenebene finden Sie unter check_constraints (Transact-SQL).For column-level CHECK constraints, see sys.check_constraints (Transact-SQL).
is_sparseis_sparse bitbit 1 = Spalte ist eine Sparsespalte.1 = Column is a sparse column. Weitere Informationen finden Sie unter Verwenden von Spalten mit geringer Dichte.For more information, see Use Sparse Columns.
is_column_setis_column_set bitbit 1 = Spalte ist ein Spaltensatz.1 = Column is a column set. Weitere Informationen finden Sie unter Verwenden von Spalten mit geringer Dichte.For more information, see Use Sparse Columns.
"generated_always_type"generated_always_type tinyinttinyint Gilt für: SQL Server 2016 (13.x)SQL Server 2016 (13.x) bis SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.

Identifiziert, wenn der Wert der Spalte generiert wird (werden immer 0 für Spalten in Systemtabellen):Identifies when the column value is generated (will always be 0 for columns in system tables):

0 = NOT_APPLICABLE0 = NOT_APPLICABLE

1 = AS_ROW_START1 = AS_ROW_START

2 = AS_ROW_END2 = AS_ROW_END

Weitere Informationen finden Sie unter Zeittabellen (relationalen Datenbanken).For more information, see Temporal Tables (Relational databases).
generated_always_type_descgenerated_always_type_desc nvarchar(60)nvarchar(60) Gilt für: SQL Server 2016 (13.x)SQL Server 2016 (13.x) bis SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.

Textbeschreibung des generated_always_typeWert (immer NOT_APPLICABLE für Spalten in Systemtabellen)Textual description of generated_always_type’s value (always NOT_APPLICABLE for columns in system tables)

NOT_APPLICABLENOT_APPLICABLE

AS_ROW_STARTAS_ROW_START

AS_ROW_ENDAS_ROW_END
encryption_typeencryption_type intint Gilt für: SQL Server 2016 (13.x)SQL Server 2016 (13.x) bis SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.

Verschlüsselungstyp:Encryption type:

1 = die deterministische Verschlüsselung1 = Deterministic encryption

2 = die zufällige Verschlüsselung2 = Randomized encryption
encryption_type_descencryption_type_desc nvarchar(64)nvarchar(64) Gilt für: SQL Server 2016 (13.x)SQL Server 2016 (13.x) bis SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.

Typbeschreibung für die Verschlüsselung:Encryption type description:

ZUFÄLLIGERANDOMIZED

DETERMINISTICDETERMINISTIC
encryption_algorithm_nameencryption_algorithm_name sysnamesysname Gilt für: SQL Server 2016 (13.x)SQL Server 2016 (13.x) bis SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.

Der Name des Verschlüsselungsalgorithmus.Name of encryption algorithm.

Nur AEAD_AES_256_CBC_HMAC_SHA_512 wird unterstützt.Only AEAD_AES_256_CBC_HMAC_SHA_512 is supported.
column_encryption_key_idcolumn_encryption_key_id intint Gilt für: SQL Server 2016 (13.x)SQL Server 2016 (13.x) bis SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.

Die ID des CEK.ID of the CEK.
column_encryption_key_database_namecolumn_encryption_key_database_name sysnamesysname Gilt für: SQL Server 2016 (13.x)SQL Server 2016 (13.x) bis SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.

Der Name der Datenbank, in dem der spaltenverschlüsselungsschlüssel, wenn andere als die Datenbank der Spalte vorhanden ist.The name of the database where the column encryption key exists if different than the database of the column. NULL, wenn der Schlüssel in der gleichen Datenbank wie die Spalte vorhanden ist.NULL if the key exists in the same database as the column.
is_hiddenis_hidden bitbit Gilt für: SQL Server 2017SQL Server 2017 bis SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.Applies to: SQL Server 2017SQL Server 2017 through SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.

Gibt an, ob die Spalte ausgeblendet ist:Indicates if the column is hidden:

0 = regulärer, nicht ausgeblendet, sichtbare Spalte0 = regular, not-hidden, visible column

1 = die ausgeblendete Spalte1 = hidden column
is_maskedis_masked bitbit Gilt für: SQL Server 2017SQL Server 2017 bis SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.Applies to: SQL Server 2017SQL Server 2017 through SQL Server 2017SQL Server 2017, SQL-DatenbankSQL Database.

Gibt an, ob die Spalte durch die dynamische datenmaskierung maskiert ist:Indicates if the column is masked by a dynamic data masking:

0 = regulärer, nicht maskiert-Spalte0 = regular, not-masked column

1 = Spalte ist maskiert.1 = column is masked

BerechtigungenPermissions

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.The visibility of the metadata in catalog views is limited to securables that a user either owns or on which the user has been granted some permission. Weitere Informationen finden Sie unter Metadata Visibility Configuration. For more information, see Metadata Visibility Configuration.

Siehe auchSee Also

Systemsichten (Transact-SQL) System Views (Transact-SQL)
Katalogsichten für Objekte (Transact-SQL) Object Catalog Views (Transact-SQL)
Katalogsichten (Transact-SQL) Catalog Views (Transact-SQL)
Abfragen von SQL Server-Systemkatalogs – häufig gestellte Fragen Querying the SQL Server System Catalog FAQ
sys.all_columns (Transact-SQL) sys.all_columns (Transact-SQL)
Sys. system_columns (Transact-SQL)sys.system_columns (Transact-SQL)