SQL Server-Schemaauflistungen (ADO.NET)
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. Um eine Liste der unterstützten Schemaauflistungen zu ermitteln, rufen Sie die GetSchema-Methode entweder ohne Argumente oder mit dem Schemaauflistungsnamen "MetaDataCollections" auf. Dadurch wird ein DataTable-Objekt 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
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
database_name |
String |
Name der Datenbank |
Dbid |
Int16 |
Datenbank-ID |
create_date |
DateTime |
Erstellungsdatum der Datenbank |
ForeignKeys
Spaltenname |
Datentyp |
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 |
Art der Einschränkung. 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
Spaltenname |
Datentyp |
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 |
Indizes (SQL Server 2008)
Ab .NET Framework, Version 3.5 SP1, und SQL Server 2008 wurden der Indizes-Schemaauflistung die folgenden Spalten hinzugefügt, um neue räumliche Typen, Dateistream und Spalten mit geringer Dichte unterstützen zu können. Diese Spalten werden in früheren Versionen von .NET Framework und von SQL Server nicht unterstützt.
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
type_desc |
String |
Der Index weist einen der folgenden Typen auf:
|
Indexspalten
Spaltenname |
Datentyp |
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 |
Ordinalposition der Spalte |
KeyType |
UInt16 |
Der Objekttyp |
Prozeduren
Diese Auflistung ist nur in SQL Server 2000 und höher verfügbar.
Spaltenname |
Datentyp |
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
Spaltenname |
Datentyp |
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 |
Int16 |
Ordinalposition des Parameters, beginnend mit 1. Für den Rückgabewert einer Prozedur ist dies 0. |
parameter_mode |
String |
Gibt bei einem Eingabeparameter IN zurück, bei einem Ausgabeparameter OUT und bei einem Eingabe-/Ausgabeparameter INOUT. |
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 bei Deklaration als Locator zurück. Andernfalls wird NO zurückgegeben. |
parameter_name |
String |
Name des Parameters. NULL, wenn dies dem Rückgabewert einer Funktion entspricht. |
data_type |
String |
Vom System bereitgestellter Datentyp. |
character_maximum_length |
Int32 |
Maximale Länge in Zeichen für binäre Datentypen oder Zeichendatentypen. Andernfalls wird NULL zurückgegeben. |
character_octet_length |
Int32 |
Maximale Länge in Byte für binäre Datentypen oder Zeichendatentypen. Andernfalls wird NULL zurückgegeben. |
collation_catalog |
String |
Katalogname der Sortierung des Parameters. Wenn dieser keinem der Zeichentypen entspricht, wird NULL zurückgegeben. |
collation_schema |
String |
Gibt immer NULL zurück. |
collation_name |
String |
Name der Sortierung des Parameters. Wenn dieser keinem der Zeichentypen entspricht, wird NULL zurückgegeben. |
character_set_catalog |
String |
Katalogname des Zeichensatzes des Parameters. Wenn dieser keinem der Zeichentypen entspricht, wird NULL zurückgegeben. |
character_set_schema |
String |
Gibt immer NULL zurück. |
character_set_name |
String |
Name des Zeichensatzes des Parameters. Wenn dieser keinem der Zeichentypen entspricht, wird NULL zurückgegeben. |
numeric_precision |
Byte |
Genauigkeit von ungefähren numerischen Daten, genauen numerischen Daten, Ganzzahldaten und Währungsdaten. Andernfalls wird NULL zurückgegeben. |
numeric_precision_radix |
Int16 |
Genauigkeitsbasis von ungefähren numerischen Daten, genauen numerischen Daten, Ganzzahldaten und Währungsdaten. Andernfalls wird NULL zurückgegeben. |
numeric_scale |
Int32 |
Skala von ungefähren numerischen Daten, genauen numerischen Daten, Ganzzahldaten und 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
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
table_catalog |
String |
Katalog der Tabelle |
table_schema |
String |
Schema, das die Tabelle enthält. |
table_name |
String |
Tabellenname |
table_type |
String |
Tabellentyp. Kann VIEW oder BASE TABLE sein. |
Spalten
Spaltenname |
Datentyp |
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 |
Int16 |
Spalten-ID |
column_default |
String |
Standardwert der Spalte |
is_nullable |
String |
Fähigkeit der Spalte, NULL-Werte zuzulassen. 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 oder Text- und Bilddaten. Andernfalls wird NULL zurückgegeben. |
character_octet_length |
Int32 – SQL8, Int16 – Sql7 |
Maximale Länge in Byte für binäre Daten, Zeichendaten oder Text- und Bilddaten. Andernfalls wird NULL zurückgegeben. |
numeric_precision |
Byte ohne Vorzeichen |
Genauigkeit von ungefähren numerischen Daten, genauen numerischen Daten, Ganzzahldaten und Währungsdaten. Andernfalls wird NULL zurückgegeben. |
numeric_precision_radix |
Int16 |
Genauigkeitsbasis von ungefähren numerischen Daten, genauen numerischen Daten, Ganzzahldaten und Währungsdaten. Andernfalls wird NULL zurückgegeben. |
numeric_scale |
Int32 |
Skala von ungefähren numerischen Daten, genauen numerischen Daten, Ganzzahldaten und Währungsdaten. Andernfalls wird NULL zurückgegeben. |
datetime_precision |
Int16 |
Untertypcode für datetime- und SQL-92-Intervalldatentypen. Bei anderen 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 Spalten mit geringer Dichte unterstützen zu können. Diese Spalten werden in früheren Versionen von .NET Framework und von SQL Server nicht unterstützt.
Spaltenname |
Datentyp |
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 Spalte mit geringer Dichte ist. NO, wenn die Spalte keine Spalte mit geringer Dichte 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 Spalten mit geringer Dichte 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.
Spaltenname |
Datentyp |
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 |
Int16 |
Spalten-ID |
column_default |
String |
Standardwert der Spalte |
is_nullable |
String |
Fähigkeit der Spalte, NULL-Werte zuzulassen. 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 für SQL Server 2000 und höher, Int16 für SQL Server 7.0 |
Maximale Länge in Zeichen für binäre Daten, Zeichendaten oder Text- und Bilddaten. Andernfalls wird NULL zurückgegeben. |
character_octet_length |
Int32 für SQL Server 2000 und höher, Int16 für SQL Server 7.0 |
Maximale Länge in Byte für binäre Daten, Zeichendaten oder Text- und Bilddaten. Andernfalls wird NULL zurückgegeben. |
numeric_precision |
Byte ohne Vorzeichen |
Genauigkeit von ungefähren numerischen Daten, genauen numerischen Daten, Ganzzahldaten und Währungsdaten. Andernfalls wird NULL zurückgegeben. |
numeric_precision_radix |
Int16 |
Genauigkeitsbasis von ungefähren numerischen Daten, genauen numerischen Daten, Ganzzahldaten und Währungsdaten. Andernfalls wird NULL zurückgegeben. |
numeric_scale |
Int32 |
Skala von ungefähren numerischen Daten, genauen numerischen Daten, Ganzzahldaten und Währungsdaten. Andernfalls wird NULL zurückgegeben. |
datetime_precision |
Int16 |
Untertypcode für datetime- und SQL-92-Intervalldatentypen. Bei anderen 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 Spalte mit geringer Dichte ist. NO, wenn die Spalte keine Spalte mit geringer Dichte 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 Spalten mit geringer Dichte 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.
Spaltenname |
Datentyp |
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 |
Int16 |
Spalten-ID |
column_default |
String |
Standardwert der Spalte |
is_nullable |
String |
Fähigkeit der Spalte, NULL-Werte zuzulassen. 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 für SQL Server 2000 und höher, Int16 für SQL Server 7.0 |
Maximale Länge in Zeichen für binäre Daten, Zeichendaten oder Text- und Bilddaten. Andernfalls wird NULL zurückgegeben. |
character_octet_length |
Int32 für SQL Server 2000 und höher, Int16 für SQL Server 7.0 |
Maximale Länge in Byte für binäre Daten, Zeichendaten oder Text- und Bilddaten. Andernfalls wird NULL zurückgegeben. |
numeric_precision |
Byte ohne Vorzeichen |
Genauigkeit von ungefähren numerischen Daten, genauen numerischen Daten, Ganzzahldaten und Währungsdaten. Andernfalls wird NULL zurückgegeben. |
numeric_precision_radix |
Int16 |
Genauigkeitsbasis von ungefähren numerischen Daten, genauen numerischen Daten, Ganzzahldaten und Währungsdaten. Andernfalls wird NULL zurückgegeben. |
numeric_scale |
Int32 |
Skala von ungefähren numerischen Daten, genauen numerischen Daten, Ganzzahldaten und Währungsdaten. Andernfalls wird NULL zurückgegeben. |
datetime_precision |
Int16 |
Untertypcode für datetime- und SQL-92-Intervalldatentypen. Bei anderen 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 Spalte mit geringer Dichte ist. NO, wenn die Spalte keine Spalte mit geringer Dichte ist. |
IS_COLUMN_SET |
String |
YES, wenn die Spalte eine Spaltensatzspalte ist. NO, wenn die Spalte keine Spaltensatzspalte ist. |
Benutzer
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
uid |
Int16 |
Benutzer-ID, eindeutig innerhalb dieser Datenbank. 1 ist der Datenbankbesitzer. |
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. |
Ansichten
Diese Auflistung ist nur in SQL Server 2000 und höher verfügbar.
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
table_catalog |
String |
Katalog der Ansicht |
table_schema |
String |
Schema, das die Ansicht enthält. |
table_name |
String |
Ansichtsname |
check_option |
String |
Typ von WITH CHECK OPTION. Ist CASCADE, wenn die ursprüngliche Ansicht mit WITH CHECK OPTION erstellt wurde. Andernfalls wird NONE zurückgegeben. |
is_updatable |
String |
Gibt an, ob die Ansicht aktualisiert werden kann. Gibt immer NO zurück. |
Ansichtsspalten
Spaltenname |
Datentyp |
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
Diese Auflistung ist nur in SQL Server 2005 und höher verfügbar.
Spaltenname |
Datentyp |
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. |
permission_set_desc |
String |
Der angezeigte Name für die Berechtigungen/Sicherheitsebene der Assembly. |
create_date |
DateTime |
Datum, an dem die Assembly erstellt/registriert wurde |
Siehe auch
Weitere Ressourcen
Abrufen von Schemainformationen aus einer Datenbank (ADO.NET)