Коллекции схем SQL Server

Область применения: .NET Framework .NET .NET Standard

Скачать ADO.NET

Поставщик данных Microsoft SqlClient для SQL Server поддерживает следующие дополнительные коллекции схем помимо общих коллекций. Коллекции схем незначительно меняются в зависимости от используемой версии SQL Server. Чтобы получить список поддерживаемых коллекций схем, вызовите метод GetSchema без аргументов или укажите имя коллекции схем "MetaDataCollections". При этом будет возвращена таблица DataTable, содержащая список поддерживаемых коллекций схем, количество ограничений, поддерживаемых каждой из них, и количество используемых ими частей идентификатора.

Базы данных

Название столбца Тип данных Описание
database_name Строка Имя базы данных .
dbid Int16 Идентификатор базы данных.
create_date Дата/время Дата создания базы данных.

Внешние ключи

Название столбца Тип данных Описание
CONSTRAINT_CATALOG Строка Каталог, к которому принадлежит ограничение.
CONSTRAINT_SCHEMA Строка Схема, которая содержит ограничение.
CONSTRAINT_NAME Строка Имя.
TABLE_CATALOG Строка Имя таблицы, частью которой является это ограничение.
TABLE_SCHEMA Строка Схема, которая содержит таблицу.
TABLE_NAME Строка Имя таблицы
CONSTRAINT_TYPE Строка Тип ограничения. Допускается только «FOREIGN KEY».
IS_DEFERRABLE Строка Указывает, является ли ограничение допускающим задержку. Возвращает NO.
INITIALLY_DEFERRED Строка Указывает, является ли ограничение первоначально допускающим задержку. Возвращает NO.

Индексы

Название столбца Тип данных Описание
каталог_ограничений Строка Каталог, которому принадлежит индекс.
constraint_schema Строка Схема, которая содержит индекс.
constraint_name Строка Название индекса.
table_catalog Строка Имя таблицы, с которой связан индекс.
table_schema Строка Схема, содержащая таблицу, с которой связан индекс.
table_name Строка Имя таблицы.
index_name Строка Имя индекса.
type_desc Строка Индекс имеет один из указанных ниже типов.

-Куча памяти
- КЛАСТЕРНЫЙ
- не кластеризованный
— XML
-ПРОСТРАНСТВЕННЫЙ

Столбцы индекса

Название столбца Тип данных Описание
каталог_ограничений Строка Каталог, которому принадлежит индекс.
constraint_schema Строка Схема, которая содержит индекс.
constraint_name Строка Название индекса.
table_catalog Строка Имя таблицы, с которой связан индекс.
table_schema Строка Схема, содержащая таблицу, с которой связан индекс.
table_name Строка Имя таблицы.
column_name Строка Имя таблицы, с которой связан индекс.
порядковая_позиция Int32 Порядковая позиция столбца.
KeyType Байт Тип объекта.
index_name Строка Имя индекса.

Процедуры

Название столбца Тип данных Описание
SPECIFIC_CATALOG Строка Конкретное название каталога.
SPECIFIC_SCHEMA Строка Определенное имя схемы.
SPECIFIC_NAME Строка Конкретное имя каталога.
ROUTINE_CATALOG Строка Каталог, которому принадлежит хранимая процедура.
ROUTINE_SCHEMA Строка Схема, которая содержит хранимую процедуру.
ROUTINE_NAME Строка Имя хранимой процедуры.
ROUTINE_TYPE Строка Возвращает PROCEDURE для хранимых процедур и FUNCTION для функций.
СОЗДАНО Дата/время Время создания процедуры.
LAST_ALTERED Дата/время Время последнего изменения процедуры.

Параметры процедуры

Название столбца Тип данных Описание
SPECIFIC_CATALOG Строка Имя каталога процедуры, для которой это является параметром.
SPECIFIC_SCHEMA Строка Схема, содержащая процедуру, частью которой является этот параметр.
SPECIFIC_NAME Строка Имя процедуры, частью которой является этот параметр.
ORDINAL_POSITION Int32 Порядковый номер параметра, начиная с 1. Для возвращаемого значения процедуры это 0.
PARAMETER_MODE Строка Возвращает IN для входного параметра, OUT для выходного параметра и INOUT для входного/выходного параметра.
IS_RESULT Строка Возвращает значение YES, если результат процедуры является результатом выполнения функции. В противном случае возвращается значение NO.
AS_LOCATOR Строка Возвращает значение YES, если объявлен как локатор. В противном случае возвращается значение NO.
PARAMETER_NAME Строка Имя параметра. NULL, если это соответствует возвращаемому значению функции.
DATA_TYPE Строка Тип данных, поддерживаемый системой.
МАКСИМАЛЬНАЯ_ДЛИНА_СИМВОЛОВ Int32 Максимальная длина в символах для двоичных или символьных данных. В противном случае возвращается значение NULL.
CHARACTER_OCTET_LENGTH Int32 Максимальная длина в байтах для двоичных или символьных данных. В противном случае возвращается значение NULL.
COLLATION_CATALOG Строка Имя каталога правил сортировки параметра. Если введенные данные не принадлежат ни к одному из символьных типов, возвращает значение NULL.
COLLATION_SCHEMA Строка Всегда возвращает значение NULL.
COLLATION_NAME Строка Имя правила сортировки параметра. Если введенные данные не принадлежат ни к одному из символьных типов, возвращает значение NULL.
CHARACTER_SET_CATALOG Строка Имя в каталоге для набора символов параметра. Если введенные данные не принадлежат ни к одному из символьных типов, возвращает значение NULL.
CHARACTER_SET_SCHEMA Строка Всегда возвращает значение NULL.
CHARACTER_SET_NAME Строка Название набора символов параметра. Если введенные данные не принадлежат ни к одному из символьных типов, возвращает значение NULL.
NUMERIC_PRECISION Байт Точность приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. В противном случае возвращается значение NULL.
NUMERIC_PRECISION_RADIX Int16 Основание точности для приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных значений. В противном случае возвращается значение NULL.
NUMERIC_SCALE Int32 Масштаб приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. В противном случае возвращается значение NULL.
DATETIME_PRECISION Int16 Точность в долях секунды, если параметр имеет тип datetime или smalldatetime. В противном случае возвращается значение NULL.
INTERVAL_TYPE Строка NULL. Зарезервировано для будущего использования в SQL Server.
INTERVAL_PRECISION Int16 NULL. Зарезервировано для будущего использования в SQL Server.

Таблицы

Название столбца Тип данных Описание
TABLE_CATALOG Строка Каталог таблицы.
TABLE_SCHEMA Строка Схема, которая содержит таблицу.
TABLE_NAME Строка Имя таблицы.
TABLE_TYPE Строка Тип таблицы. Может быть VIEW или BASE TABLE.

Столбцы

Название столбца Тип данных Описание
TABLE_CATALOG Строка Каталог таблицы.
TABLE_SCHEMA Строка Схема, которая содержит таблицу.
TABLE_NAME Строка Имя таблицы.
COLUMN_NAME Строка Имя столбца.
ORDINAL_POSITION Int32 Идентификационный номер столбца.
COLUMN_DEFAULT Строка Значение столбца по умолчанию.
IS_NULLABLE Строка Допустимость значения NULL для столбца. Если для столбца допустимо значение NULL, этот столбец возвращает значение YES. Иначе возвращается значение NO.
DATA_TYPE Строка Тип данных, поддерживаемый системой.
МАКСИМАЛЬНАЯ_ДЛИНА_СИМВОЛОВ Int32 — Sql8, Int16 — Sql7 Максимальная длина в символах для двоичных данных, символьных данных или текстовых данных и изображений. Иначе возвращается значение NULL.
CHARACTER_OCTET_LENGTH Int32 — SQL8, Int16 — Sql7 Максимальная длина в байтах для двоичных данных, символьных данных или текстовых данных и изображений. Иначе возвращается значение NULL.
NUMERIC_PRECISION Неподписанный байт Точность приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. Иначе возвращается значение NULL.
NUMERIC_PRECISION_RADIX Int16 Основание точности для приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных значений. Иначе возвращается значение NULL.
NUMERIC_SCALE Int32 Масштаб приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. Иначе возвращается значение NULL.
DATETIME_PRECISION Int16 Код подтипа для типов данных даты и времени и интервалов SQL-92. Для других типов данных возвращается значение NULL.
CHARACTER_SET_CATALOG Строка Возвращает значение master, указывающее базу данных, в которой находится набор символов, если столбец имеет символьный или текстовый тип данных. Иначе возвращается значение NULL.
CHARACTER_SET_SCHEMA Строка Всегда возвращает значение NULL.
CHARACTER_SET_NAME Строка Возвращает уникальное имя набора символов, если этот столбец имеет символьный или текстовый тип данных. Иначе возвращается значение NULL.
COLLATION_CATALOG Строка Возвращает значение "master", т.е. имя базы данных, в которой определен параметр сортировки, если столбец имеет символьный тип данных или текстовый тип данных. В противном случае этот столбец содержит значение NULL.
IS_FILESTREAM Строка YES, если для столбца установлен атрибут FILESTREAM.

NO, если для столбца не установлен атрибут FILESTREAM.
IS_SPARSE Строка YES, если столбец является разреженным.

NO, если столбец не является разреженным.
IS_COLUMN_SET Строка YES, если столбец является набором столбцов.

NO, если столбец не является набором столбцов.

Все столбцы

Коллекция схем AllColumns используется для поддержки разреженных столбцов. AllColumns имеет те же ограничения и ту же итоговую схему DataTable, что и коллекция схем Columns. Единственное отличие заключается в том, что коллекция схем AllColumns включает столбцы из набора столбцов, которые не входят в коллекцию схем Columns. Эти столбцы описаны в приведенной ниже таблице.

Название столбца Тип данных Описание
TABLE_CATALOG Строка Каталог таблицы.
TABLE_SCHEMA Строка Схема, которая содержит таблицу.
TABLE_NAME Строка Имя таблицы.
COLUMN_NAME Строка Имя столбца.
ORDINAL_POSITION Int32 Идентификационный номер столбца.
COLUMN_DEFAULT Строка Значение столбца по умолчанию.
IS_NULLABLE Строка Допустимость значения NULL для столбца. Если для столбца допустимо значение NULL, этот столбец возвращает значение YES. Иначе возвращается значение NO.
DATA_TYPE Строка Тип данных, поддерживаемый системой.
МАКСИМАЛЬНАЯ_ДЛИНА_СИМВОЛОВ Int32 Максимальная длина в символах для двоичных данных, символьных данных или текстовых данных и изображений. Иначе возвращается значение NULL.
CHARACTER_OCTET_LENGTH Int32 Максимальная длина в байтах для двоичных данных, символьных данных или текстовых данных и изображений. Иначе возвращается значение NULL.
NUMERIC_PRECISION Неподписанный байт Точность приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. Иначе возвращается значение NULL.
NUMERIC_PRECISION_RADIX Int16 Основание точности для приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных значений. Иначе возвращается значение NULL.
NUMERIC_SCALE Int32 Масштаб приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. Иначе возвращается значение NULL.
DATETIME_PRECISION Int16 Код подтипа для типов данных даты и времени и интервалов SQL-92. Для других типов данных возвращается значение NULL.
CHARACTER_SET_CATALOG Строка Возвращает значение master, указывающее базу данных, в которой находится набор символов, если столбец имеет символьный или текстовый тип данных. Иначе возвращается значение NULL.
CHARACTER_SET_SCHEMA Строка Всегда возвращает значение NULL.
CHARACTER_SET_NAME Строка Возвращает уникальное имя набора символов, если этот столбец имеет символьный или текстовый тип данных. Иначе возвращается значение NULL.
COLLATION_CATALOG Строка Возвращает значение "master", т.е. имя базы данных, в которой определен параметр сортировки, если столбец имеет символьный тип данных или текстовый тип данных. В противном случае этот столбец содержит значение NULL.
IS_FILESTREAM Строка YES, если для столбца установлен атрибут FILESTREAM.

NO, если для столбца не установлен атрибут FILESTREAM.
IS_SPARSE Строка YES, если столбец является разреженным.

NO, если столбец не является разреженным.
IS_COLUMN_SET Строка YES, если столбец является набором столбцов.

NO, если столбец не является набором столбцов.

Столбцы набора столбцов

Коллекция схем ColumnSetColumns используется для поддержки разреженных столбцов. Коллекция схем ColumnSetColumns возвращает схему для всех столбцов в наборе столбцов. Эти столбцы описаны в приведенной ниже таблице.

Название столбца Тип данных Описание
TABLE_CATALOG Строка Каталог таблицы.
TABLE_SCHEMA Строка Схема, которая содержит таблицу.
TABLE_NAME Строка Имя таблицы.
COLUMN_NAME Строка Имя столбца.
ORDINAL_POSITION Int32 Идентификационный номер столбца.
COLUMN_DEFAULT Строка Значение столбца по умолчанию.
IS_NULLABLE Строка Допустимость значения NULL для столбца. Если для столбца допустимо значение NULL, этот столбец возвращает значение YES. Иначе возвращается значение NO.
DATA_TYPE Строка Тип данных, поддерживаемый системой.
МАКСИМАЛЬНАЯ_ДЛИНА_СИМВОЛОВ Int32 Максимальная длина в символах для двоичных данных, символьных данных или текстовых данных и изображений. Иначе возвращается значение NULL.
CHARACTER_OCTET_LENGTH Int32 Максимальная длина в байтах для двоичных данных, символьных данных или текстовых данных и изображений. Иначе возвращается значение NULL.
NUMERIC_PRECISION Неподписанный байт Точность приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. Иначе возвращается значение NULL.
NUMERIC_PRECISION_RADIX Int16 Основание точности для приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных значений. Иначе возвращается значение NULL.
NUMERIC_SCALE Int32 Масштаб приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. Иначе возвращается значение NULL.
DATETIME_PRECISION Int16 Код подтипа для типов данных даты и времени и интервалов SQL-92. Для других типов данных возвращается значение NULL.
CHARACTER_SET_CATALOG Строка Возвращает значение master, указывающее базу данных, в которой находится набор символов, если столбец имеет символьный или текстовый тип данных. Иначе возвращается значение NULL.
CHARACTER_SET_SCHEMA Строка Всегда возвращает значение NULL.
CHARACTER_SET_NAME Строка Возвращает уникальное имя набора символов, если этот столбец имеет символьный или текстовый тип данных. Иначе возвращается значение NULL.
COLLATION_CATALOG Строка Возвращает значение "master", т.е. имя базы данных, в которой определен параметр сортировки, если столбец имеет символьный тип данных или текстовый тип данных. В противном случае этот столбец содержит значение NULL.
IS_FILESTREAM Строка YES, если для столбца установлен атрибут FILESTREAM.

NO, если для столбца не установлен атрибут FILESTREAM.
IS_SPARSE Строка YES, если столбец является разреженным.

NO, если столбец не является разреженным.
IS_COLUMN_SET Строка YES, если столбец является набором столбцов.

NO, если столбец не является набором столбцов.

Пользователи

Название столбца Тип данных Описание
uid Int16 Идентификатор пользователя, уникальный в этой базе данных. 1 — это владелец базы данных.
user_name Строка Имя пользователя или имя группы, уникальные в этой базе данных.
createdate Дата/время Дата добавления этой учетной записи.
Дата обновления Дата/время Дата последнего изменения учетной записи.

Представления

Название столбца Тип данных Описание
TABLE_CATALOG Строка Каталог представления.
TABLE_SCHEMA Строка Схема, содержащая представление.
TABLE_NAME Строка Имя представления.
CHECK_OPTION Строка Тип параметра WITH CHECK OPTION. CASCADE, если первоначальное представление было создано с помощью инструкции WITH CHECK OPTION. Иначе возвращается значение NONE.
IS_UPDATABLE Строка Указывает, можно ли обновлять это представление. Всегда возвращает NO.

Просмотр столбцов

Название столбца Тип данных Описание
ПРОСМОТР_КАТАЛОГА Строка Каталог представления.
VIEW_SCHEMA Строка Схема, содержащая представление.
VIEW_NAME Строка Имя представления.
TABLE_CATALOG Строка Каталог таблицы, которая связана с этим представлением.
TABLE_SCHEMA Строка Схема, которая содержит таблицу, связанную с этим представлением.
TABLE_NAME Строка Имя таблицы, которая связана с представлением. Базовая таблица.
COLUMN_NAME Строка Имя столбца.

Типы, определяемые пользователем

Название столбца Тип данных Описание
assembly_name Строка Имя файла для сборки.
udt_name Строка Имя класса сборки.
version_major Объект Номер основной версии.
version_minor Объект Минорный номер версии.
version_build Объект Номер сборки.
version_revision Объект Номер ревизии.
culture_info Объект Сведения о языке и региональных стандартах, связанных с этим UDT.
открытый_ключ Объект Открытый ключ, используемый в этой сборке.
is_fixed_length Логический Указывает, является ли длина данных этого типа всегда равной значению max_length.
max_length Int16 Максимальная длина значения типа в байтах.
Дата_создания Дата/время Дата, когда сборка была создана/зарегистрирована.
Permission_set_desc Строка Удобное в использовании имя набора разрешений и (или) уровня безопасности для сборки.