SQL Server-Schemaauflistungen

Der Microsoft .NET Framework-Datenanbieter für SQL Server unterstützt neben den allgemeinen Schemaauflistungen auch weitere Schemaauflistungen. Die Schemaauflistungen sind je nach verwendeter SQL Server-Version verschieden. Rufen Sie die Methode GetSchema ohne Argumente oder mit dem Schemasammlungsnamen „MetaDataCollections“ auf, um eine Liste der unterstützten Schemasammlungen zu ermitteln. Dadurch wird DataTable mit einer Liste der unterstützten Schemaauflistungen, der Anzahl der von diesen Schemaauflistungen unterstützten Einschränkungen und der Anzahl der von diesen Schemaauflistungen verwendeten Bezeichnerteilen zurückgegeben.

Datenbanken

ColumnName DataType BESCHREIBUNG
database_name String Der Name der Datenbank.
dbid Int16 Datenbank-ID
create_date Datetime Erstellungsdatum der Datenbank.

Fremdschlüssel

ColumnName DataType BESCHREIBUNG
CONSTRAINT_CATALOG String Katalog, zu dem die Einschränkung gehört.
CONSTRAINT_SCHEMA String Schema, das die Einschränkung enthält.
CONSTRAINT_NAME String Name.
TABLE_CATALOG String Tabellenname, zu dem diese Einschränkung gehört.
TABLE_SCHEMA String Schema, das die Tabelle enthält.
table_name String Tabellenname
CONSTRAINT_TYPE String Einschränkungstyp Nur "FOREIGN KEY" zulässig.
IS_DEFERRABLE String Gibt an, ob die Einschränkung verzögert werden kann. Gibt NO zurück.
INITIALLY_DEFERRED String Gibt an, ob die Einschränkung anfangs verzögert werden kann. Gibt NO zurück.

Indizes

ColumnName DataType BESCHREIBUNG
constraint_catalog String Katalog, zu dem dieser Index gehört.
constraint_schema String Schema, das den Index enthält.
constraint_name String Name des Indexes.
table_catalog String Tabellenname, dem der Index zugeordnet ist.
table_schema String Schema, das die Tabelle enthält, der der Index zugeordnet ist.
table_name String Tabellenname.
index_name String Indexname

Indexes (SQL Server 2008)

Ab .NET Framework, Version 3.5 SP1, und SQL Server 2008 wurden der Indexes-Schemaauflistung die folgenden Spalten hinzugefügt, um neue räumliche Typen, Dateistream und Sparsespalten unterstützen zu können. Diese Spalten werden in früheren Versionen von .NET Framework und von SQL Server nicht unterstützt.

ColumnName DataType BESCHREIBUNG
type_desc String Der Index weist einen der folgenden Typen auf:

– HEAP
– CLUSTERED
– NONCLUSTERED
– XML
– SPATIAL

IndexColumns

ColumnName DataType BESCHREIBUNG
constraint_catalog String Katalog, zu dem dieser Index gehört.
constraint_schema String Schema, das den Index enthält.
constraint_name String Name des Indexes.
table_catalog String Tabellenname, dem der Index zugeordnet ist.
table_schema String Schema, das die Tabelle enthält, der der Index zugeordnet ist.
table_name String Tabellenname.
column_name String Spaltenname, dem der Index zugeordnet ist.
ordinal_position Int32 Ordnungsposition der Spalte.
KeyType Byte Der Objekttyp.
index_name String Indexname

Prozeduren

ColumnName DataType BESCHREIBUNG
SPECIFIC_CATALOG String Spezifischer Name für den Katalog.
SPECIFIC_SCHEMA String Spezifischer Name des Schemas.
SPECIFIC_NAME String Spezifischer Name des Katalogs.
ROUTINE_CATALOG String Katalog, zu dem die gespeicherte Prozedur gehört.
ROUTINE_SCHEMA String Schema, das die gespeicherte Prozedur enthält.
ROUTINE_NAME String Name der gespeicherten Prozedur.
ROUTINE_TYPE String Gibt PROCEDURE für gespeicherte Prozeduren und FUNCTION für Funktionen zurück.
CREATED Datetime Zeitpunkt der Erstellung der Prozedur.
LAST_ALTERED Datetime Zeitpunkt der letzten Änderung der Prozedur.

Prozedurparameter

ColumnName DataType BESCHREIBUNG
SPECIFIC_CATALOG String Katalogname der Prozedur, für die dies einen Parameter darstellt.
SPECIFIC_SCHEMA String Schema, das die Prozedur enthält, zu der dieser Parameter gehört.
SPECIFIC_NAME String Name der Prozedur, zu der dieser Parameter gehört.
ORDINAL_POSITION Int32 Die Ordnungsposition des Parameters, beginnend bei 1. Für den Rückgabewert einer Prozedur ist dies 0.
PARAMETER_MODE String Gibt IN zurück, wenn es ein Eingabeparameter ist, OUT, wenn es ein Ausgabeparameter ist, und INOUT, wenn es ein Eingabe/Ausgabeparameter ist.
IS_RESULT String Gibt YES zurück, wenn das Ergebnis der Prozedur angegeben wird, die eine Funktion darstellt. Andernfalls wird NO zurückgegeben.
AS_LOCATOR String Gibt YES zurück, wenn der Parameter als Lokator deklariert wurde. Andernfalls wird NO zurückgegeben.
PARAMETER_NAME String Der Name des Parameters. NULL, wenn er dem Rückgabewert einer Funktion entspricht.
DATA_TYPE String Vom System bereitgestellter Datentyp
CHARACTER_MAXIMUM_LENGTH Int32 Maximale Länge in Zeichen für binary-Datentypen oder Zeichendatentypen Andernfalls wird NULL zurückgegeben.
CHARACTER_OCTET_LENGTH Int32 Maximale Länge in Bytes für binary-Datentypen oder Zeichendatentypen Andernfalls wird NULL zurückgegeben.
COLLATION_CATALOG String Katalogname der Sortierung des Parameters. Wenn es sich nicht um einen der Zeichentypen handelt, wird NULL zurückgegeben.
COLLATION_SCHEMA String Gibt immer NULL zurück.
COLLATION_NAME String Name der Sortierung des Parameters. Wenn es sich nicht um einen der Zeichentypen handelt, wird NULL zurückgegeben.
CHARACTER_SET_CATALOG String Katalogname des Zeichensatzes des Parameters. Wenn es sich nicht um einen der Zeichentypen handelt, wird NULL zurückgegeben.
CHARACTER_SET_SCHEMA String Gibt immer NULL zurück.
CHARACTER_SET_NAME String Name des Zeichensatzes des Parameters. Wenn es sich nicht um einen der Zeichentypen handelt, wird NULL zurückgegeben.
NUMERIC_PRECISION Byte Genauigkeit für Spalten mit ungefähren numerischen Daten, exakten numerischen Daten, ganzzahligen Daten oder Währungsdaten. Andernfalls wird NULL zurückgegeben.
NUMERIC_PRECISION_RADIX Int16 Basis der Genauigkeit für Spalten mit ungefähren numerischen Daten, exakten numerischen Daten, ganzzahligen Daten oder Währungsdaten. Andernfalls wird NULL zurückgegeben.
NUMERIC_SCALE Int32 Anzahl der Dezimalstellen für Spalten mit ungefähren numerischen Daten, exakten numerischen Daten, ganzzahligen Daten oder Währungsdaten. Andernfalls wird NULL zurückgegeben.
DATETIME_PRECISION Int16 Genauigkeit in Bruchteilen von Sekunden, wenn der Parametertyp datetime oder smalldatetime ist. Andernfalls wird NULL zurückgegeben.
INTERVAL_TYPE String NULL. Für die künftige Verwendung durch SQL Server reserviert.
INTERVAL_PRECISION Int16 NULL. Für die künftige Verwendung durch SQL Server reserviert.

Tabellen

ColumnName DataType BESCHREIBUNG
TABLE_CATALOG String Katalog der Tabelle.
TABLE_SCHEMA String Schema, das die Tabelle enthält.
table_name String Tabellenname.
TABLE_TYPE String Tabellentyp. VIEW oder BASE TABLE

Spalten

ColumnName DataType BESCHREIBUNG
TABLE_CATALOG String Katalog der Tabelle.
TABLE_SCHEMA String Schema, das die Tabelle enthält.
table_name String Tabellenname.
COLUMN_NAME String Spaltenname.
ORDINAL_POSITION Int32 Identifikationsnummer der Spalte
COLUMN_DEFAULT String Standardwert der Spalte
IS_NULLABLE String NULL-Zulässigkeit der Spalte. Wenn diese Spalte NULL zulässt, gibt die Spalte YES zurück. Andernfalls wird NO zurückgegeben.
DATA_TYPE String Vom System bereitgestellter Datentyp
CHARACTER_MAXIMUM_LENGTH Int32 – Sql8, Int16 – Sql7 Maximale Länge (in Zeichen) für binäre Daten, Zeichendaten, Text- und Tmage-Daten Andernfalls wird NULL zurückgegeben.
CHARACTER_OCTET_LENGTH Int32 – SQL8, Int16 – Sql7 Maximale Länge (in Bytes) für binäre Daten, Zeichendaten, Text- und Image-Daten. Andernfalls wird NULL zurückgegeben.
NUMERIC_PRECISION Byte ohne Vorzeichen Genauigkeit für Spalten mit ungefähren numerischen Daten, exakten numerischen Daten, ganzzahligen Daten oder Währungsdaten. Andernfalls wird NULL zurückgegeben.
NUMERIC_PRECISION_RADIX Int16 Basis der Genauigkeit für Spalten mit ungefähren numerischen Daten, exakten numerischen Daten, ganzzahligen Daten oder Währungsdaten. Andernfalls wird NULL zurückgegeben.
NUMERIC_SCALE Int32 Anzahl der Dezimalstellen für Spalten mit ungefähren numerischen Daten, exakten numerischen Daten, ganzzahligen Daten oder Währungsdaten. Andernfalls wird NULL zurückgegeben.
DATETIME_PRECISION Int16 Untertypcode für den datetime-Datentyp und den SQL-92-Datentyp interval. Für andere Datentypen wird NULL zurückgegeben.
CHARACTER_SET_CATALOG String Gibt "master" zurück, wodurch die Datenbank angegeben wird, in der der Zeichensatz enthalten ist, wenn die Spalte den Typ Zeichendaten oder Textdaten aufweist. Andernfalls wird NULL zurückgegeben.
CHARACTER_SET_SCHEMA String Gibt immer NULL zurück.
CHARACTER_SET_NAME String Gibt den eindeutigen Namen für den Zeichensatz zurück, wenn diese Spalte den Typ Zeichendaten oder Textdaten aufweist. Andernfalls wird NULL zurückgegeben.
COLLATION_CATALOG String Gibt master zurück, wodurch die Datenbank angegeben wird, in der die Sortierung definiert ist, wenn die Spalte den Typ Zeichendaten oder Textdaten aufweist. Andernfalls ist diese Spalte NULL.

Columns (SQL Server 2008)

Ab .NET Framework, Version 3.5 SP1, und SQL Server 2008 wurden der Columns-Schemaauflistung die folgenden Spalten hinzugefügt, um neue räumliche Typen, Dateistream und Sparsespalten unterstützen zu können. Diese Spalten werden in früheren Versionen von .NET Framework und von SQL Server nicht unterstützt.

ColumnName DataType BESCHREIBUNG
IS_FILESTREAM String YES, wenn die Spalte über das FILESTREAM-Attribut verfügt.

NO, wenn die Spalte nicht über das FILESTREAM-Attribut verfügt.
IS_SPARSE String YES, wenn die Spalte eine Sparsespalte ist.

NO, wenn die Spalte keine Sparsespalte ist.
IS_COLUMN_SET String YES, wenn die Spalte eine Spaltensatzspalte ist.

NO, wenn die Spalte keine Spaltensatzspalte ist.

AllColumns (SQL Server 2008)

Ab .NET Framework, Version 3.5 SP1, und SQL Server 2008 wurde die AllColumns-Schemaauflistung hinzugefügt, um Sparsespalten unterstützen zu können. AllColumns wird in früheren Versionen von .NET Framework und von SQL Server nicht unterstützt.

AllColumns hat die gleichen Einschränkungen und das resultierende DataTable-Schema wie die Columns-Schemaauflistung. Der einzige Unterschied besteht darin, dass AllColumns Spaltensatzspalten einschließt, die nicht in der Columns-Schemaauflistung enthalten sind. In der folgenden Liste werden diese Spalten beschrieben.

ColumnName DataType BESCHREIBUNG
TABLE_CATALOG String Katalog der Tabelle.
TABLE_SCHEMA String Schema, das die Tabelle enthält.
table_name String Tabellenname.
COLUMN_NAME String Spaltenname.
ORDINAL_POSITION Int32 Identifikationsnummer der Spalte
COLUMN_DEFAULT String Standardwert der Spalte
IS_NULLABLE String NULL-Zulässigkeit der Spalte. Wenn diese Spalte NULL zulässt, gibt die Spalte YES zurück. Andernfalls wird NO zurückgegeben.
DATA_TYPE String Vom System bereitgestellter Datentyp
CHARACTER_MAXIMUM_LENGTH Int32 Maximale Länge (in Zeichen) für binäre Daten, Zeichendaten, Text- und Tmage-Daten Andernfalls wird NULL zurückgegeben.
CHARACTER_OCTET_LENGTH Int32 Maximale Länge (in Bytes) für binäre Daten, Zeichendaten, Text- und Image-Daten. Andernfalls wird NULL zurückgegeben.
NUMERIC_PRECISION Byte ohne Vorzeichen Genauigkeit für Spalten mit ungefähren numerischen Daten, exakten numerischen Daten, ganzzahligen Daten oder Währungsdaten. Andernfalls wird NULL zurückgegeben.
NUMERIC_PRECISION_RADIX Int16 Basis der Genauigkeit für Spalten mit ungefähren numerischen Daten, exakten numerischen Daten, ganzzahligen Daten oder Währungsdaten. Andernfalls wird NULL zurückgegeben.
NUMERIC_SCALE Int32 Anzahl der Dezimalstellen für Spalten mit ungefähren numerischen Daten, exakten numerischen Daten, ganzzahligen Daten oder Währungsdaten. Andernfalls wird NULL zurückgegeben.
DATETIME_PRECISION Int16 Untertypcode für den datetime-Datentyp und den SQL-92-Datentyp interval. Für andere Datentypen wird NULL zurückgegeben.
CHARACTER_SET_CATALOG String Gibt "master" zurück, wodurch die Datenbank angegeben wird, in der der Zeichensatz enthalten ist, wenn die Spalte den Typ Zeichendaten oder Textdaten aufweist. Andernfalls wird NULL zurückgegeben.
CHARACTER_SET_SCHEMA String Gibt immer NULL zurück.
CHARACTER_SET_NAME String Gibt den eindeutigen Namen für den Zeichensatz zurück, wenn diese Spalte den Typ Zeichendaten oder Textdaten aufweist. Andernfalls wird NULL zurückgegeben.
COLLATION_CATALOG String Gibt master zurück, wodurch die Datenbank angegeben wird, in der die Sortierung definiert ist, wenn die Spalte den Typ Zeichendaten oder Textdaten aufweist. Andernfalls ist diese Spalte NULL.
IS_FILESTREAM String YES, wenn die Spalte über das FILESTREAM-Attribut verfügt.

NO, wenn die Spalte nicht über das FILESTREAM-Attribut verfügt.
IS_SPARSE String YES, wenn die Spalte eine Sparsespalte ist.

NO, wenn die Spalte keine Sparsespalte ist.
IS_COLUMN_SET String YES, wenn die Spalte eine Spaltensatzspalte ist.

NO, wenn die Spalte keine Spaltensatzspalte ist.

ColumnSetColumns (SQL Server 2008)

Ab .NET Framework, Version 3.5 SP1, und SQL Server 2008 wurde die ColumnSetColumns-Schemaauflistung hinzugefügt, um Sparsespalten unterstützen zu können. ColumnSetColumns wird in früheren Versionen von .NET Framework und von SQL Server nicht unterstützt. Die ColumnSetColumns-Schemaauflistung gibt das Schema für alle Spalten in einem Spaltensatz zurück. In der folgenden Liste werden diese Spalten beschrieben.

ColumnName DataType BESCHREIBUNG
TABLE_CATALOG String Katalog der Tabelle.
TABLE_SCHEMA String Schema, das die Tabelle enthält.
table_name String Tabellenname.
COLUMN_NAME String Spaltenname.
ORDINAL_POSITION Int32 Identifikationsnummer der Spalte
COLUMN_DEFAULT String Standardwert der Spalte
IS_NULLABLE String NULL-Zulässigkeit der Spalte. Wenn diese Spalte NULL zulässt, gibt die Spalte YES zurück. Andernfalls wird NO zurückgegeben.
DATA_TYPE String Vom System bereitgestellter Datentyp
CHARACTER_MAXIMUM_LENGTH Int32 Maximale Länge (in Zeichen) für binäre Daten, Zeichendaten, Text- und Tmage-Daten Andernfalls wird NULL zurückgegeben.
CHARACTER_OCTET_LENGTH Int32 Maximale Länge (in Bytes) für binäre Daten, Zeichendaten, Text- und Image-Daten. Andernfalls wird NULL zurückgegeben.
NUMERIC_PRECISION Byte ohne Vorzeichen Genauigkeit für Spalten mit ungefähren numerischen Daten, exakten numerischen Daten, ganzzahligen Daten oder Währungsdaten. Andernfalls wird NULL zurückgegeben.
NUMERIC_PRECISION_RADIX Int16 Basis der Genauigkeit für Spalten mit ungefähren numerischen Daten, exakten numerischen Daten, ganzzahligen Daten oder Währungsdaten. Andernfalls wird NULL zurückgegeben.
NUMERIC_SCALE Int32 Anzahl der Dezimalstellen für Spalten mit ungefähren numerischen Daten, exakten numerischen Daten, ganzzahligen Daten oder Währungsdaten. Andernfalls wird NULL zurückgegeben.
DATETIME_PRECISION Int16 Untertypcode für den datetime-Datentyp und den SQL-92-Datentyp interval. Für andere Datentypen wird NULL zurückgegeben.
CHARACTER_SET_CATALOG String Gibt "master" zurück, wodurch die Datenbank angegeben wird, in der der Zeichensatz enthalten ist, wenn die Spalte den Typ Zeichendaten oder Textdaten aufweist. Andernfalls wird NULL zurückgegeben.
CHARACTER_SET_SCHEMA String Gibt immer NULL zurück.
CHARACTER_SET_NAME String Gibt den eindeutigen Namen für den Zeichensatz zurück, wenn diese Spalte den Typ Zeichendaten oder Textdaten aufweist. Andernfalls wird NULL zurückgegeben.
COLLATION_CATALOG String Gibt master zurück, wodurch die Datenbank angegeben wird, in der die Sortierung definiert ist, wenn die Spalte den Typ Zeichendaten oder Textdaten aufweist. Andernfalls ist diese Spalte NULL.
IS_FILESTREAM String YES, wenn die Spalte über das FILESTREAM-Attribut verfügt.

NO, wenn die Spalte nicht über das FILESTREAM-Attribut verfügt.
IS_SPARSE String YES, wenn die Spalte eine Sparsespalte ist.

NO, wenn die Spalte keine Sparsespalte ist.
IS_COLUMN_SET String YES, wenn die Spalte eine Spaltensatzspalte ist.

NO, wenn die Spalte keine Spaltensatzspalte ist.

Benutzer

ColumnName DataType BESCHREIBUNG
uid Int16 In dieser Datenbank eindeutiger Benutzername. 1 ist der Datenbankbesitzer.
user_name String Benutzername oder Gruppenname, eindeutig innerhalb dieser Datenbank.
createdate Datetime Datum, an dem das Konto hinzugefügt wurde.
updatedate Datetime Datum, an dem das Konto zuletzt geändert wurde.

Sichten

ColumnName DataType BESCHREIBUNG
TABLE_CATALOG String Katalog der Ansicht.
TABLE_SCHEMA String Schema, das die Ansicht enthält.
table_name String Ansichtsname.
CHECK_OPTION String WITH CHECK OPTION-Typ. Ist CASCADE, wenn die ursprüngliche Ansicht mit der WITH CHECK OPTION erstellt wurde. Andernfalls wird NONE zurückgegeben.
IS_UPDATABLE String Gibt an, ob die Sicht aktualisierbar ist. Es wird immer NO zurückgegeben.

ViewColumns

ColumnName DataType BESCHREIBUNG
VIEW_CATALOG String Katalog der Ansicht.
VIEW_SCHEMA String Schema, das die Ansicht enthält.
VIEW_NAME String Ansichtsname.
TABLE_CATALOG String Katalog der Tabelle, die dieser Ansicht zugeordnet ist.
TABLE_SCHEMA String Schema, das die Tabelle enthält, die dieser Ansicht zugeordnet ist.
table_name String Name der Tabelle, die der Ansicht zugeordnet ist. Basistabelle.
COLUMN_NAME String Spaltenname.

UserDefinedTypes

ColumnName DataType BESCHREIBUNG
assembly_name String Der Name der Datei für die Assembly.
udt_name String Der Klassenname für die Assembly.
version_major Object Nummer der Hauptversion.
version_minor Object Nummer der Nebenversion.
version_build Object Buildnummer.
version_revision Object Revisionsnummer.
culture_info Object Die diesem UDT zugeordneten Kulturinformationen.
public_key Object Der von dieser Assembly verwendete öffentliche Schlüssel.
is_fixed_length Boolean Gibt an, ob die Länge des Typs immer mit max_length übereinstimmt.
max_length Int16 Maximale Länge des Typs in Byte.
Create_Date Datetime Datum, an dem die Assembly erstellt/registriert wurde.
Permission_set_desc String Der angezeigte Name für die Berechtigungen/Sicherheitsebene der Assembly.

Weitere Informationen: