SQL Server-Schemaauflistungen (ADO.NET)
Aktualisiert: November 2007
Der Microsoft .NET Framework-Datenanbieter für SQL Server unterstützt zusätzliche Schemaauflistungen neben den allgemeinen Schemaauflistungen. Die Schemaauflistungen unterscheiden sich bei verschiedenen Versionen von SQL Server leicht. Rufen Sie die GetSchema-Methode ohne Argumente oder mit dem Schemaauflistungsnamen "MetaDataCollections" auf, um die Liste der unterstützten Schemaauflistungen abzurufen. Daraufhin wird eine 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 Bezeichnerbestandteile zurückgegeben.
Datenbanken
ColumnName |
DataType |
Beschreibung |
---|---|---|
database_name |
String |
Name der Datenbank. |
Dbid |
Int16 |
Datenbank-ID. |
create_date |
DateTime |
Erstellungsdatum der Datenbank. |
ForeignKeys
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 |
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
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. |
Indizes (SQL Server 2008)
Mit der Einführung der .NET Framework-Version 3.5 SP1 und SQL Server 2008 wurden der "Indexes"-Schemaauflistung die folgenden Spalten hinzugefügt, um neue räumliche Typen, Filestream und Spalten mit geringer Dichte zu unterstützen. Diese Spalten werden in früheren Versionen von .NET Framework und SQL Server nicht unterstützt.
ColumnName |
DataType |
Beschreibung |
---|---|---|
type_desc |
String |
Die folgenden Indextypen sind möglich:
|
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 |
Ordinalposition der Spalte. |
KeyType |
UInt16 |
Der Typ des Objekts. |
Procedures
Diese Auflistung ist nur in SQL Server 2000 und höher verfügbar.
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. |
ProcedureParameters
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 |
Int16 |
Ordinalposition des Parameters, beginnend bei 1. Für den Rückgabewert einer Prozedur ist dies 0 (null). |
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
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. Kann VIEW oder BASE TABLE sein. |
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 |
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. |
Spalten (SQL Server 2008)
Mit der Einführung der .NET Framework-Version 3.5 SP1 und SQL Server 2008 wurden der "Columns"-Schemaauflistung die folgenden Spalten hinzugefügt, um neue räumliche Typen, Filestream und Spalten mit geringer Dichte zu unterstützen. Diese Spalten werden in früheren Versionen von .NET Framework und SQL Server nicht unterstützt.
ColumnName |
DataType |
Beschreibung |
---|---|---|
IS_FILESTREAM |
String |
YES, wenn die Spalte über ein FILESTREAM-Attribut verfügt. NO, wenn die Spalte nicht über ein FILESTREAM-Attribut verfügt. |
IS_SPARSE |
String |
YES, wenn es sich um eine Spalte mit geringer Dichte handelt. NO, wenn es sich nicht um eine Spalte mit geringer Dichte handelt. |
IS_COLUMN_SET |
String |
YES, wenn es sich um eine Spaltensatzspalte handelt. NO, wenn es sich nicht um eine Spaltensatzspalte handelt. |
AllColumns (SQL Server 2008)
Mit der Einführung der .NET Framework-Version 3.5 SP1 und SQL Server 2008 wurde die "AllColumns"-Schemaauflistung hinzugefügt, um Spalten mit geringer Dichte zu unterstützen. "AllColumns" wird in früheren Versionen von .NET Framework und SQL Server nicht unterstützt.
"AllColumns" hat die gleichen Einschränkungen und das gleiche resultierende "DataTable"-Schema wie die "Columns"-Schemaauflistung. Der einzige Unterschied ist, dass "AllColumns" Spaltensatzspalten enthält, die in der "Columns"-Schemaauflistung nicht enthalten sind. In der folgenden Tabelle 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 |
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 diese 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 Bytes 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 ein FILESTREAM-Attribut verfügt. NO, wenn die Spalte nicht über ein FILESTREAM-Attribut verfügt. |
IS_SPARSE |
String |
YES, wenn es sich um eine Spalte mit geringer Dichte handelt. NO, wenn es sich nicht um eine Spalte mit geringer Dichte handelt. |
IS_COLUMN_SET |
String |
YES, wenn es sich um eine Spaltensatzspalte handelt. NO, wenn es sich nicht um eine Spaltensatzspalte handelt. |
ColumnSetColumns (SQL Server 2008)
Mit der Einführung der .NET Framework-Version 3.5 SP1 und SQL Server 2008 wurde die "ColumnSetColumns"-Schemaauflistung hinzugefügt, um Spalten mit geringer Dichte zu unterstützen. "ColumnSetColumns" wird in früheren Versionen von .NET Framework und SQL Server nicht unterstützt. Die "ColumnSetColumns"-Schemaauflistung gibt das Schema für alle Spalten in einem Spaltensatz zurück. In der folgenden Tabelle 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 |
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 ein FILESTREAM-Attribut verfügt. NO, wenn die Spalte nicht über ein FILESTREAM-Attribut verfügt. |
IS_SPARSE |
String |
YES, wenn es sich um eine Spalte mit geringer Dichte handelt. NO, wenn es sich nicht um eine Spalte mit geringer Dichte handelt. |
IS_COLUMN_SET |
String |
YES, wenn es sich um eine Spaltensatzspalte handelt. NO, wenn es sich nicht um eine Spaltensatzspalte handelt. |
Users
ColumnName |
DataType |
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.
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 |
Typ von WITH CHECK OPTION. 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 Ansicht aktualisiert werden kann. Gibt immer NO zurück. |
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
Diese Auflistung ist nur in SQL Server 2005 und höher verfügbar.
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 |
Objekt |
Nummer der Hauptversion. |
version_minor |
Objekt |
Nummer der Nebenversion. |
version_build |
Objekt |
Buildnummer. |
version_revision |
Objekt |
Revisionsnummer. |
Culture_info |
Objekt |
Die diesem UDT zugeordneten Kulturinformationen. |
Public_key |
Objekt |
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 den Berechtigungssatz/die 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)