Kolekcje schematów programu SQL Server

Program Microsoft .NET Framework Dostawca danych dla programu SQL Server obsługuje dodatkowe kolekcje schematów oprócz typowych kolekcji schematów. Kolekcje schematów różnią się nieco w zależności od używanej wersji programu SQL Server. Aby określić listę obsługiwanych kolekcji schematów, wywołaj metodę GetSchema bez argumentów lub nazwę kolekcji schematu "MetaDataCollections". Spowoduje to zwrócenie DataTable obiektu z listą obsługiwanych kolekcji schematów, liczbą ograniczeń, które obsługują, oraz liczbą używanych przez nich części identyfikatorów.

Bazy danych

ColumnName DataType opis
Nazwa_bazy_danych String Nazwa bazy danych.
Dbid Int16 Identyfikator bazy danych.
create_date DateTime Data utworzenia bazy danych.

Klucze obce

ColumnName DataType opis
CONSTRAINT_CATALOG String Katalog, do którego należy ograniczenie.
CONSTRAINT_SCHEMA String Schemat zawierający ograniczenie.
CONSTRAINT_NAME String Name.
TABLE_CATALOG String Ograniczenie nazwy tabeli jest częścią.
TABLE_SCHEMA String Schemat zawierający tabelę.
TABLE_NAME String Nazwa tabeli
CONSTRAINT_TYPE String Typ ograniczenia. Dozwolone jest tylko "KLUCZ OBCY".
IS_DEFERRABLE String Określa, czy ograniczenie jest możliwe do odroczenia. Zwraca wartość NIE.
INITIALLY_DEFERRED String Określa, czy ograniczenie jest początkowo odroczalne. Zwraca wartość NIE.

Indeksy

ColumnName DataType opis
constraint_catalog String Wykaz, do którego należy indeks.
constraint_schema String Schemat zawierający indeks.
Constraint_name String Nazwa indeksu.
Table_catalog String Nazwa tabeli, z która jest skojarzona indeks.
Table_schema String Schemat zawierający tabelę, z którą jest skojarzony indeks.
Nazwa_tabeli String Nazwa tabeli.
Index_name String Nazwa indeksu.

Indeksy (SQL Server 2008)

Począwszy od programu .NET Framework w wersji 3.5 z dodatkiem SP1 i programu SQL Server 2008, do kolekcji schematów Indeksy dodano następujące kolumny w celu obsługi nowych typów przestrzennych, strumienia plików i rozrzednych kolumn. Te kolumny nie są obsługiwane we wcześniejszych wersjach programów .NET Framework i SQL Server.

ColumnName DataType opis
Type_desc String Typ indeksu będzie jednym z następujących elementów:

-STERTY
-KLASTROWANY
-NIEKLASTROWANY
-XML
-PRZESTRZENNEJ

Kolumny indeksu

ColumnName DataType opis
constraint_catalog String Wykaz, do którego należy indeks.
constraint_schema String Schemat zawierający indeks.
Constraint_name String Nazwa indeksu.
Table_catalog String Nazwa tabeli, z która jest skojarzona indeks.
Table_schema String Schemat zawierający tabelę, z którą jest skojarzony indeks.
Nazwa_tabeli String Nazwa tabeli.
Column_name String Nazwa kolumny, z która jest skojarzona indeks.
ordinal_position Int32 Położenie porządkowe kolumny.
Keytype Byte Typ obiektu.
Index_name String Nazwa indeksu.

z konkretnym obiektem

ColumnName DataType opis
SPECIFIC_CATALOG String Określona nazwa wykazu.
SPECIFIC_SCHEMA String Określona nazwa schematu.
SPECIFIC_NAME String Określona nazwa wykazu.
ROUTINE_CATALOG String Wykaz, do którego należy procedura składowana.
ROUTINE_SCHEMA String Schemat zawierający procedurę składowaną.
ROUTINE_NAME String Nazwa procedury składowanej.
ROUTINE_TYPE String Zwraca metodę PROCEDURE dla procedur składowanych i FUNKCJI dla funkcji.
UTWORZONO DateTime Czas utworzenia procedury.
LAST_ALTERED DateTime Ostatni raz procedura została zmodyfikowana.

Parametry procedury

ColumnName DataType opis
SPECIFIC_CATALOG String Nazwa katalogu procedury, dla której jest to parametr.
SPECIFIC_SCHEMA String Schemat zawierający procedurę, dla której ten parametr jest częścią.
SPECIFIC_NAME String Nazwa procedury, dla której ten parametr jest częścią.
ORDINAL_POSITION Int32 Pozycja porządkowa parametru rozpoczynająca się od 1. Dla wartości zwracanej procedury jest to wartość 0.
PARAMETER_MODE String Zwraca wartość IN, jeśli parametr wejściowy, OUT, jeśli parametr wyjściowy i INOUT, jeśli parametr wejściowy/wyjściowy.
IS_RESULT String Zwraca wartość TAK, jeśli wskazuje wynik procedury, która jest funkcją. W przeciwnym razie zwraca wartość NIE.
AS_LOCATOR String Zwraca wartość TAK, jeśli jest zadeklarowana jako lokalizator. W przeciwnym razie zwraca wartość NIE.
PARAMETER_NAME String Nazwa parametru. Wartość NULL, jeśli odpowiada zwracanej wartości funkcji.
DATA_TYPE String Typ danych dostarczony przez system.
CHARACTER_MAXIMUM_LENGTH Int32 Maksymalna długość znaków w znakach dla typów danych binarnych lub znaków. W przeciwnym razie zwraca wartość NULL.
CHARACTER_OCTET_LENGTH Int32 Maksymalna długość w bajtach dla typów danych binarnych lub znaków. W przeciwnym razie zwraca wartość NULL.
COLLATION_CATALOG String Nazwa katalogu sortowania parametru. Jeśli nie jeden z typów znaków, zwraca wartość NULL.
COLLATION_SCHEMA String Zawsze zwraca wartość NULL.
COLLATION_NAME String Nazwa sortowania parametru. Jeśli nie jeden z typów znaków, zwraca wartość NULL.
CHARACTER_SET_CATALOG String Nazwa katalogu zestawu znaków parametru. Jeśli nie jeden z typów znaków, zwraca wartość NULL.
CHARACTER_SET_SCHEMA String Zawsze zwraca wartość NULL.
CHARACTER_SET_NAME String Nazwa zestawu znaków parametru. Jeśli nie jeden z typów znaków, zwraca wartość NULL.
NUMERIC_PRECISION Byte Precyzja przybliżonych danych liczbowych, dokładnych danych liczbowych, danych całkowitych lub danych pieniężnych. W przeciwnym razie zwraca wartość NULL.
NUMERIC_PRECISION_RADIX Int16 Precyzja promienia przybliżonych danych liczbowych, dokładnych danych liczbowych, danych całkowitych lub danych pieniężnych. W przeciwnym razie zwraca wartość NULL.
NUMERIC_SCALE Int32 Skala przybliżonych danych liczbowych, dokładnych danych liczbowych, danych całkowitych lub danych pieniężnych. W przeciwnym razie zwraca wartość NULL.
DATETIME_PRECISION Int16 Precyzja w sekundach ułamkowych, jeśli typ parametru to datetime lub smalldatetime. W przeciwnym razie zwraca wartość NULL.
INTERVAL_TYPE String NULL. Zarezerwowane do użytku w przyszłości przez program SQL Server.
INTERVAL_PRECISION Int16 NULL. Zarezerwowane do użytku w przyszłości przez program SQL Server.

Tabele

ColumnName DataType opis
TABLE_CATALOG String Wykaz tabeli.
TABLE_SCHEMA String Schemat zawierający tabelę.
TABLE_NAME String Nazwa tabeli.
TABLE_TYPE String Typ tabeli. Może to być TABELA VIEW lub BASE.

Kolumny

ColumnName DataType opis
TABLE_CATALOG String Wykaz tabeli.
TABLE_SCHEMA String Schemat zawierający tabelę.
TABLE_NAME String Nazwa tabeli.
COLUMN_NAME String Nazwa kolumny.
ORDINAL_POSITION Int32 Numer identyfikacyjny kolumny.
COLUMN_DEFAULT String Wartość domyślna kolumny
IS_NULLABLE String Wartość null kolumny. Jeśli ta kolumna zezwala na wartość NULL, ta kolumna zwraca wartość TAK. W przeciwnym razie nie jest zwracany.
DATA_TYPE String Typ danych dostarczony przez system.
CHARACTER_MAXIMUM_LENGTH Int32 — Sql8, Int16 — Sql7 Maksymalna długość, w znakach, dla danych binarnych, danych znaków lub danych tekstowych i obrazów. W przeciwnym razie zwracana jest wartość NULL.
CHARACTER_OCTET_LENGTH Int32 — SQL8, Int16 — Sql7 Maksymalna długość, w bajtach, dla danych binarnych, danych znaków lub danych tekstowych i obrazów. W przeciwnym razie zwracana jest wartość NULL.
NUMERIC_PRECISION Niepodpisany bajt Precyzja przybliżonych danych liczbowych, dokładnych danych liczbowych, danych całkowitych lub danych pieniężnych. W przeciwnym razie zwracana jest wartość NULL.
NUMERIC_PRECISION_RADIX Int16 Precyzja promienia przybliżonych danych liczbowych, dokładnych danych liczbowych, danych całkowitych lub danych pieniężnych. W przeciwnym razie zwracana jest wartość NULL.
NUMERIC_SCALE Int32 Skala przybliżonych danych liczbowych, dokładnych danych liczbowych, danych całkowitych lub danych pieniężnych. W przeciwnym razie zwracana jest wartość NULL.
DATETIME_PRECISION Int16 Kod podtypu dla typów danych typu datetime i SQL-92 interval. W przypadku innych typów danych zwracana jest wartość NULL.
CHARACTER_SET_CATALOG String Zwraca wzorzec wskazujący bazę danych, w której znajduje się zestaw znaków, jeśli kolumna jest danymi znaków lub typem danych tekstowych. W przeciwnym razie zwracana jest wartość NULL.
CHARACTER_SET_SCHEMA String Zawsze zwraca wartość NULL.
CHARACTER_SET_NAME String Zwraca unikatową nazwę zestawu znaków, jeśli ta kolumna jest danymi znaków lub typem danych tekstowych. W przeciwnym razie zwracana jest wartość NULL.
COLLATION_CATALOG String Zwraca wzorzec wskazujący bazę danych, w której zdefiniowano sortowanie, jeśli kolumna jest danymi znaków lub typem danych tekstowych. W przeciwnym razie ta kolumna ma wartość NULL.

Kolumny (SQL Server 2008)

Począwszy od programu .NET Framework w wersji 3.5 z dodatkiem SP1 i programu SQL Server 2008, do kolekcji schematów Kolumn dodano następujące kolumny w celu obsługi nowych typów przestrzennych, strumienia plików i rozrzedów kolumn. Te kolumny nie są obsługiwane we wcześniejszych wersjach programów .NET Framework i SQL Server.

ColumnName DataType opis
IS_FILESTREAM String TAK, jeśli kolumna ma atrybut FILESTREAM.

NIE, jeśli kolumna nie ma atrybutu FILESTREAM.
IS_SPARSE String TAK, jeśli kolumna jest kolumną rozrzedliwą.

NIE, jeśli kolumna nie jest kolumną rozrzedliwą.
IS_COLUMN_SET String TAK, jeśli kolumna jest kolumną zestawu kolumn.

NIE, jeśli kolumna nie jest kolumną zestawu kolumn.

AllColumns (SQL Server 2008)

Począwszy od programu .NET Framework w wersji 3.5 z dodatkiem SP1 i programu SQL Server 2008, kolekcja schematów AllColumns została dodana do obsługi kolumn rozrzednych. Funkcja AllColumns nie jest obsługiwana we wcześniejszych wersjach programów .NET Framework i SQL Server.

Funkcja AllColumns ma te same ograniczenia i wynikowy schemat DataTable co kolekcja schematów Kolumny. Jedyną różnicą jest to, że kolumny AllColumns zawierają kolumny, które nie są uwzględnione w kolekcji schematów Kolumny. W poniższej tabeli opisano te kolumny.

ColumnName DataType opis
TABLE_CATALOG String Wykaz tabeli.
TABLE_SCHEMA String Schemat zawierający tabelę.
TABLE_NAME String Nazwa tabeli.
COLUMN_NAME String Nazwa kolumny.
ORDINAL_POSITION Int32 Numer identyfikacyjny kolumny.
COLUMN_DEFAULT String Wartość domyślna kolumny
IS_NULLABLE String Wartość null kolumny. Jeśli ta kolumna zezwala na wartość NULL, ta kolumna zwraca wartość TAK. W przeciwnym razie nie jest zwracany.
DATA_TYPE String Typ danych dostarczony przez system.
CHARACTER_MAXIMUM_LENGTH Int32 Maksymalna długość, w znakach, dla danych binarnych, danych znaków lub danych tekstowych i obrazów. W przeciwnym razie zwracana jest wartość NULL.
CHARACTER_OCTET_LENGTH Int32 Maksymalna długość, w bajtach, dla danych binarnych, danych znaków lub danych tekstowych i obrazów. W przeciwnym razie zwracana jest wartość NULL.
NUMERIC_PRECISION Niepodpisany bajt Precyzja przybliżonych danych liczbowych, dokładnych danych liczbowych, danych całkowitych lub danych pieniężnych. W przeciwnym razie zwracana jest wartość NULL.
NUMERIC_PRECISION_RADIX Int16 Precyzja promienia przybliżonych danych liczbowych, dokładnych danych liczbowych, danych całkowitych lub danych pieniężnych. W przeciwnym razie zwracana jest wartość NULL.
NUMERIC_SCALE Int32 Skala przybliżonych danych liczbowych, dokładnych danych liczbowych, danych całkowitych lub danych pieniężnych. W przeciwnym razie zwracana jest wartość NULL.
DATETIME_PRECISION Int16 Kod podtypu dla typów danych typu datetime i SQL-92 interval. W przypadku innych typów danych zwracana jest wartość NULL.
CHARACTER_SET_CATALOG String Zwraca wzorzec wskazujący bazę danych, w której znajduje się zestaw znaków, jeśli kolumna jest danymi znaków lub typem danych tekstowych. W przeciwnym razie zwracana jest wartość NULL.
CHARACTER_SET_SCHEMA String Zawsze zwraca wartość NULL.
CHARACTER_SET_NAME String Zwraca unikatową nazwę zestawu znaków, jeśli ta kolumna jest danymi znaków lub typem danych tekstowych. W przeciwnym razie zwracana jest wartość NULL.
COLLATION_CATALOG String Zwraca wzorzec wskazujący bazę danych, w której zdefiniowano sortowanie, jeśli kolumna jest danymi znaków lub typem danych tekstowych. W przeciwnym razie ta kolumna ma wartość NULL.
IS_FILESTREAM String TAK, jeśli kolumna ma atrybut FILESTREAM.

NIE, jeśli kolumna nie ma atrybutu FILESTREAM.
IS_SPARSE String TAK, jeśli kolumna jest kolumną rozrzedliwą.

NIE, jeśli kolumna nie jest kolumną rozrzedliwą.
IS_COLUMN_SET String TAK, jeśli kolumna jest kolumną zestawu kolumn.

NIE, jeśli kolumna nie jest kolumną zestawu kolumn.

ColumnSetColumns (SQL Server 2008)

Począwszy od programu .NET Framework w wersji 3.5 z dodatkiem SP1 i programu SQL Server 2008, kolekcja schematów ColumnSetColumns została dodana do obsługi kolumn rozrzednych. Kolumny ColumnSetColumns nie są obsługiwane we wcześniejszych wersjach programów .NET Framework i SQL Server. Kolekcja schematów ColumnSetColumns zwraca schemat dla wszystkich kolumn w zestawie kolumn. W poniższej tabeli opisano te kolumny.

ColumnName DataType opis
TABLE_CATALOG String Wykaz tabeli.
TABLE_SCHEMA String Schemat zawierający tabelę.
TABLE_NAME String Nazwa tabeli.
COLUMN_NAME String Nazwa kolumny.
ORDINAL_POSITION Int32 Numer identyfikacyjny kolumny.
COLUMN_DEFAULT String Wartość domyślna kolumny
IS_NULLABLE String Wartość null kolumny. Jeśli ta kolumna zezwala na wartość NULL, ta kolumna zwraca wartość TAK. W przeciwnym razie nie jest zwracany.
DATA_TYPE String Typ danych dostarczony przez system.
CHARACTER_MAXIMUM_LENGTH Int32 Maksymalna długość, w znakach, dla danych binarnych, danych znaków lub danych tekstowych i obrazów. W przeciwnym razie zwracana jest wartość NULL.
CHARACTER_OCTET_LENGTH Int32 Maksymalna długość, w bajtach, dla danych binarnych, danych znaków lub danych tekstowych i obrazów. W przeciwnym razie zwracana jest wartość NULL.
NUMERIC_PRECISION Niepodpisany bajt Precyzja przybliżonych danych liczbowych, dokładnych danych liczbowych, danych całkowitych lub danych pieniężnych. W przeciwnym razie zwracana jest wartość NULL.
NUMERIC_PRECISION_RADIX Int16 Precyzja promienia przybliżonych danych liczbowych, dokładnych danych liczbowych, danych całkowitych lub danych pieniężnych. W przeciwnym razie zwracana jest wartość NULL.
NUMERIC_SCALE Int32 Skala przybliżonych danych liczbowych, dokładnych danych liczbowych, danych całkowitych lub danych pieniężnych. W przeciwnym razie zwracana jest wartość NULL.
DATETIME_PRECISION Int16 Kod podtypu dla typów danych typu datetime i SQL-92 interval. W przypadku innych typów danych zwracana jest wartość NULL.
CHARACTER_SET_CATALOG String Zwraca wzorzec wskazujący bazę danych, w której znajduje się zestaw znaków, jeśli kolumna jest danymi znaków lub typem danych tekstowych. W przeciwnym razie zwracana jest wartość NULL.
CHARACTER_SET_SCHEMA String Zawsze zwraca wartość NULL.
CHARACTER_SET_NAME String Zwraca unikatową nazwę zestawu znaków, jeśli ta kolumna jest danymi znaków lub typem danych tekstowych. W przeciwnym razie zwracana jest wartość NULL.
COLLATION_CATALOG String Zwraca wzorzec wskazujący bazę danych, w której zdefiniowano sortowanie, jeśli kolumna jest danymi znaków lub typem danych tekstowych. W przeciwnym razie ta kolumna ma wartość NULL.
IS_FILESTREAM String TAK, jeśli kolumna ma atrybut FILESTREAM.

NIE, jeśli kolumna nie ma atrybutu FILESTREAM.
IS_SPARSE String TAK, jeśli kolumna jest kolumną rozrzedliwą.

NIE, jeśli kolumna nie jest kolumną rozrzedliwą.
IS_COLUMN_SET String TAK, jeśli kolumna jest kolumną zestawu kolumn.

NIE, jeśli kolumna nie jest kolumną zestawu kolumn.

Użytkownicy

ColumnName DataType opis
Identyfikator UID Int16 Identyfikator użytkownika, unikatowy w tej bazie danych. 1 jest właścicielem bazy danych.
Nazwa_użytkownika String Nazwa użytkownika lub nazwa grupy, unikatowa w tej bazie danych.
data utworzenia DateTime Data dodania konta.
zaktualizowany DateTime Data ostatniej zmiany konta.

Widoki

ColumnName DataType opis
TABLE_CATALOG String Wykaz widoku.
TABLE_SCHEMA String Schemat zawierający widok.
TABLE_NAME String Nazwa widoku.
CHECK_OPTION String Typ Z OPCJĄ SPRAWDZANIA. Jest CASCADE, jeśli oryginalny widok został utworzony przy użyciu OPCJI ZAEWIDENCJONUJ. W przeciwnym razie zwracana jest wartość NONE.
IS_UPDATABLE String Określa, czy widok jest aktualizowalny. Zawsze zwraca wartość NIE.

Kolumny widoku

ColumnName DataType opis
VIEW_CATALOG String Wykaz widoku.
VIEW_SCHEMA String Schemat zawierający widok.
VIEW_NAME String Nazwa widoku.
TABLE_CATALOG String Wykaz tabeli skojarzonej z tym widokiem.
TABLE_SCHEMA String Schemat zawierający tabelę skojarzona z tym widokiem.
TABLE_NAME String Nazwa tabeli skojarzonej z widokiem. Tabela podstawowa.
COLUMN_NAME String Nazwa kolumny.

UserDefinedTypes

ColumnName DataType opis
assembly_name String Nazwa pliku zestawu.
udt_name String Nazwa klasy dla zestawu.
version_major Objekt Numer wersji głównej.
version_minor Objekt Numer wersji pomocniczej.
version_build Objekt Numer kompilacji.
version_revision Objekt Numer poprawki.
culture_info Objekt Informacje o kulturze skojarzone z tym udT.
public_key Objekt Klucz publiczny używany przez ten zestaw.
is_fixed_length Wartość logiczna Określa, czy długość typu jest zawsze taka sama jak max_length.
max_length Int16 Maksymalna długość typu w bajtach.
Create_Date DateTime Data utworzenia/zarejestrowania zestawu.
Permission_set_desc String Przyjazna nazwa zestawu uprawnień/poziomu zabezpieczeń.

Zobacz też