Udostępnij za pośrednictwem


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ż