Поделиться через


Коллекции схем SQL Server (ADO.NET)

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

Databases

ColumnName

DataType

Описание

database_name

String

Имя базы данных.

Dbid

Int16

Идентификатор базы данных.

create_date

DateTime

Дата создания базы данных.

Foreign Keys

ColumnName

DataType

Описание

constraint_catalog

String

Каталог, которому принадлежит ограничение.

constraint_schema

String

Схема, которая содержит ограничение.

constraint_name

String

Имя.

table_catalog

String

Имя таблицы, частью которой является ограничение.

table_schema

String

Схема, которая содержит таблицу.

table_name

String

Имя таблицы.

constraint_type

String

Тип ограничения. Допускается только ограничение «FOREIGN KEY».

is_deferrable

String

Указывает, является ли ограничение допускающим задержку. Возвращает NO.

initially_deferred

String

Указывает, является ли ограничение первоначально допускающим задержку. Возвращает NO.

Indexes

ColumnName

DataType

Описание

constraint_catalog

String

Каталог, которому принадлежит индекс.

constraint_schema

String

Схема, которая содержит индекс.

constraint_name

String

Имя индекса.

table_catalog

String

Имя таблицы, с которой связан индекс.

table_schema

String

Схема, содержащая таблицу, с которой связан индекс.

table_name

String

Имя таблицы.

Indexes (SQL Server 2008)

Начиная с .NET Framework 3.5 с пакетом обновления 1 (SP1) и SQL Server 2008 в коллекцию схем Indexes для поддержки новых пространственных типов, файловых потоков и разреженных столбцов были добавлены указанные ниже столбцы. Эти столбцы не поддерживаются в предыдущих версиях .NET Framework и SQL Server.

ColumnName

DataType

Описание

type_desc

String

Индекс имеет один из указанных ниже типов.

  • HEAP

  • CLUSTERED

  • NONCLUSTERED

  • XML

  • SPATIAL

IndexColumns

ColumnName

DataType

Описание

constraint_catalog

String

Каталог, которому принадлежит индекс.

constraint_schema

String

Схема, которая содержит индекс.

constraint_name

String

Имя индекса.

table_catalog

String

Имя таблицы, с которой связан индекс.

table_schema

String

Схема, содержащая таблицу, с которой связан индекс.

table_name

String

Имя таблицы.

column_name

String

Имя столбца, с которым связан индекс.

ordinal_position

Int32

Порядковая позиция столбца.

KeyType

UInt16

Тип объекта.

Procedures

Эта коллекция доступна только в версии SQL Server 2000 и более поздних.

ColumnName

DataType

Описание

specific_catalog

String

Собственное имя для каталога.

specific_schema

String

Определенное имя схемы.

specific_name

String

Определенное имя каталога.

routine_catalog

String

Каталог, которому принадлежит хранимая процедура.

routine_schema

String

Схема, которая содержит хранимую процедуру.

routine_name

String

Имя хранимой процедуры.

routine_type

String

Возвращает значение PROCEDURE для хранимых процедур и FUNCTION для функций.

created

DateTime

Время создания процедуры.

last_altered

DateTime

Время последнего изменения процедуры.

ProcedureParameters

ColumnName

DataType

Описание

specific_catalog

String

Имя каталога процедуры, для которой это является параметром.

specific_schema

String

Схема, содержащая процедуру, частью которой является этот параметр.

specific_name

String

Имя процедуры, частью которой является этот параметр.

ordinal_position

Int16

Порядковый номер параметра, начиная с 1. Для возвращаемого значения процедуры — 0.

parameter_mode

String

Возвращает значение IN для входного параметра, OUT для выходного параметра и INOUT для изменяемого входного параметра.

is_result

String

Возвращает значение YES, если результат процедуры является результатом выполнения функции. В противном случае возвращается значение NO.

as_locator

String

Возвращает значение YES, если результат объявлен как указатель. В противном случае возвращается значение NO.

parameter_name

String

Имя параметра. Если соответствует результату выполнения функции, то возвращается значение NULL.

data_type

String

Тип данных, поддерживаемый системой.

character_maximum_length

Int32

Максимальная длина в символах для двоичных или символьных данных. В противном случае возвращает NULL.

character_octet_length

Int32

Максимальная длина в байтах для двоичных или символьных данных. В противном случае возвращает NULL.

collation_catalog

String

Имя каталога параметров сортировки параметра. Если входные данные не принадлежат ни к одному из символьных типов, возвращает значение NULL.

collation_schema

String

Всегда возвращает значение NULL.

collation_name

String

Имя параметров сортировки параметра. Если входные данные не принадлежат ни к одному из символьных типов, возвращает значение NULL.

character_set_catalog

String

Имя каталога кодировки параметра. Если входные данные не принадлежат ни к одному из символьных типов, возвращает значение NULL.

character_set_schema

String

Всегда возвращает значение NULL.

character_set_name

String

Имя кодировки параметра. Если входные данные не принадлежат ни к одному из символьных типов, возвращает значение NULL.

numeric_precision

Byte

Точность приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. В противном случае возвращает NULL.

numeric_precision_radix

Int16

Основание системы счисления точности приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. В противном случае возвращает NULL.

numeric_scale

Int32

Масштаб приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. В противном случае возвращает NULL.

datetime_precision

Int16

Точность в долях секунды, если параметр имеет тип datetime или smalldatetime. В противном случае возвращает NULL.

interval_type

String

NULL. Зарезервировано для будущего использования в SQL Server.

interval_precision

Int16

NULL. Зарезервировано для будущего использования в SQL Server.

Tables

ColumnName

DataType

Описание

table_catalog

String

Каталог таблицы.

table_schema

String

Схема, которая содержит таблицу.

table_name

String

Имя таблицы.

table_type

String

Тип таблицы. Может быть VIEW или BASE TABLE.

Columns

ColumnName

DataType

Описание

table_catalog

String

Каталог таблицы.

table_schema

String

Схема, которая содержит таблицу.

table_name

String

Имя таблицы.

column_name

String

Имя столбца.

ordinal_position

Int16

Идентификационный номер столбца.

column_default

String

Значение столбца по умолчанию.

is_nullable

String

Указывает, может ли столбец содержать значение NULL. Если для столбца допустимо значение NULL, этот столбец возвращает значение YES. Иначе возвращается значение NO.

data_type

String

Тип данных, поддерживаемый системой.

character_maximum_length

Int32 – Sql8, Int16 – Sql7

Максимальная длина в символах для двоичных данных, символьных данных или текстовых данных и изображений. В противном случае возвращается значение NULL.

character_octet_length

Int32 – SQL8, Int16 – Sql7

Максимальная длина в байтах для двоичных данных, символьных данных или текстовых данных и изображений. В противном случае возвращается значение NULL.

numeric_precision

Unsigned Byte

Точность приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. В противном случае возвращается значение NULL.

numeric_precision_radix

Int16

Основание системы счисления точности приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. В противном случае возвращается значение NULL.

numeric_scale

Int32

Масштаб приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. В противном случае возвращается значение NULL.

datetime_precision

Int16

Код подтипа для типа данных datetime и типа данных interval языка SQL-92. Для других типов данных возвращается значение NULL.

character_set_catalog

String

Возвращает значение «master», т. е. имя базы данных, в которой находится кодировка, если столбец имеет символьный тип данных или текстовый тип данных. В противном случае возвращается значение NULL.

character_set_schema

String

Всегда возвращает значение NULL.

character_set_name

String

Возвращает уникальное имя для кодировки, если столбец содержит символьные данные или текстовые данные. В противном случае возвращается значение NULL.

collation_catalog

String

Возвращает значение «master», т. е. имя базы данных, в которой определен параметр сортировки, если столбец имеет символьный тип данных или текстовый тип данных. В противном случае этот столбец содержит значение NULL.

Columns (SQL Server 2008)

Начиная с .NET Framework 3.5 с пакетом обновления 1 (SP1) и SQL Server 2008, в коллекцию схем Columns для поддержки новых пространственных типов, файловых потоков и разреженных столбцов были добавлены указанные ниже столбцы. Эти столбцы не поддерживаются в предыдущих версиях .NET Framework и SQL Server.

ColumnName

DataType

Описание

IS_FILESTREAM

String

YES, если для столбца установлен атрибут FILESTREAM.

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

IS_SPARSE

String

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

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

IS_COLUMN_SET

String

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

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

AllColumns (SQL Server 2008)

Начиная с .NET Framework 3.5 с пакетом обновления 1 (SP1) и SQL Server 2008, для поддержки разреженных столбцов была добавлена коллекция схем AllColumns. Коллекция схем AllColumns не поддерживается в предыдущих версиях .NET Framework и SQL Server.

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

ColumnName

DataType

Описание

table_catalog

String

Каталог таблицы.

table_schema

String

Схема, которая содержит таблицу.

table_name

String

Имя таблицы.

column_name

String

Имя столбца.

ordinal_position

Int16

Идентификационный номер столбца.

column_default

String

Значение столбца по умолчанию.

is_nullable

String

Указывает, может ли столбец содержать значение NULL. Если для столбца допустимо значение NULL, этот столбец возвращает значение YES. В противном случае возвращается значение NO.

data_type

String

Тип данных, поддерживаемый системой.

character_maximum_length

Int32 для SQL Server 2000 и более поздних версий, Int16 для SQL Server 7.0

Максимальная длина в символах для двоичных данных, символьных данных или текстовых данных и изображений. В противном случае возвращается значение NULL.

character_octet_length

Int32 для SQL Server 2000 и более поздних версий, Int16 для SQL Server 7.0

Максимальная длина в байтах для двоичных данных, символьных данных или текстовых данных и изображений. В противном случае возвращается значение NULL.

numeric_precision

Unsigned Byte

Точность приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. В противном случае возвращается значение NULL.

numeric_precision_radix

Int16

Основание системы счисления точности приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. В противном случае возвращается значение NULL.

numeric_scale

Int32

Масштаб приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. В противном случае возвращается значение NULL.

datetime_precision

Int16

Код подтипа для типа данных datetime и типа данных interval языка SQL-92. Для других типов данных возвращается значение NULL.

character_set_catalog

String

Возвращает значение «master», т. е. имя базы данных, в которой находится кодировка, если столбец имеет символьный тип данных или текстовый тип данных. В противном случае возвращается значение NULL.

character_set_schema

String

Всегда возвращает значение NULL.

character_set_name

String

Возвращает уникальное имя для кодировки, если столбец содержит символьные данные или текстовые данные. В противном случае возвращается значение NULL.

collation_catalog

String

Возвращает значение «master», т. е. имя базы данных, в которой определен параметр сортировки, если столбец имеет символьный тип данных или текстовый тип данных. В противном случае этот столбец содержит значение NULL.

IS_FILESTREAM

String

YES, если для столбца установлен атрибут FILESTREAM.

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

IS_SPARSE

String

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

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

IS_COLUMN_SET

String

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

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

ColumnSetColumns (SQL Server 2008)

Начиная с .NET Framework 3.5 с пакетом обновления 1 (SP1) и SQL Server 2008, для поддержки разреженных столбцов была добавлена коллекция схем ColumnSetColumns. Коллекция схем ColumnSetColumns не поддерживается в предыдущих версиях .NET Framework и SQL Server. Коллекция схем ColumnSetColumns возвращает схему для всех столбцов в наборе столбцов. Эти столбцы описаны в приведенной ниже таблице.

ColumnName

DataType

Описание

table_catalog

String

Каталог таблицы.

table_schema

String

Схема, которая содержит таблицу.

table_name

String

Имя таблицы.

column_name

String

Имя столбца.

ordinal_position

Int16

Идентификационный номер столбца.

column_default

String

Значение столбца по умолчанию.

is_nullable

String

Указывает, может ли столбец содержать значение NULL. Если для столбца допустимо значение NULL, этот столбец возвращает значение YES. В противном случае возвращается значение NO.

data_type

String

Тип данных, поддерживаемый системой.

character_maximum_length

Int32 для SQL Server 2000 и более поздних версий, Int16 для SQL Server 7.0

Максимальная длина в символах для двоичных данных, символьных данных или текстовых данных и изображений. В противном случае возвращается значение NULL.

character_octet_length

Int32 для SQL Server 2000 и более поздних версий, Int16 для SQL Server 7.0

Максимальная длина в байтах для двоичных данных, символьных данных или текстовых данных и изображений. В противном случае возвращается значение NULL.

numeric_precision

Unsigned Byte

Точность приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. В противном случае возвращается значение NULL.

numeric_precision_radix

Int16

Основание системы счисления точности приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. В противном случае возвращается значение NULL.

numeric_scale

Int32

Масштаб приблизительных числовых данных, точных числовых данных, целочисленных данных или денежных данных. В противном случае возвращается значение NULL.

datetime_precision

Int16

Код подтипа для типа данных datetime и типа данных interval языка SQL-92. Для других типов данных возвращается значение NULL.

character_set_catalog

String

Возвращает значение «master», т. е. имя базы данных, в которой находится кодировка, если столбец имеет символьный тип данных или текстовый тип данных. В противном случае возвращается значение NULL.

character_set_schema

String

Всегда возвращает значение NULL.

character_set_name

String

Возвращает уникальное имя для кодировки, если столбец содержит символьные данные или текстовые данные. В противном случае возвращается значение NULL.

collation_catalog

String

Возвращает значение «master», т. е. имя базы данных, в которой определен параметр сортировки, если столбец имеет символьный тип данных или текстовый тип данных. В противном случае этот столбец содержит значение NULL.

IS_FILESTREAM

String

YES, если для столбца установлен атрибут FILESTREAM.

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

IS_SPARSE

String

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

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

IS_COLUMN_SET

String

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

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

Users

ColumnName

DataType

Описание

uid

Int16

Идентификатор пользователя, уникальный в этой базе данных. 1 — это владелец базы данных.

name

String

Имя пользователя или имя группы, уникальные в этой базе данных.

createdate

DateTime

Дата добавления этой учетной записи.

updatedate

DateTime

Дата последнего изменения учетной записи.

Views

Эта коллекция доступна только в версии SQL Server 2000 и более поздних.

ColumnName

DataType

Описание

table_catalog

String

Каталог представления.

table_schema

String

Схема, которая содержит представление.

table_name

String

Имя представления.

check_option

String

Тип инструкции WITH CHECK OPTION. CASCADE, если первоначальное представление было создано с помощью инструкции WITH CHECK OPTION. Иначе возвращается значение NONE.

is_updatable

String

Указывает, можно ли обновлять это представление. Всегда возвращает NO.

ViewColumns

ColumnName

DataType

Описание

view_catalog

String

Каталог представления.

view_schema

String

Схема, которая содержит представление.

view_name

String

Имя представления.

table_catalog

String

Каталог таблицы, которая связана с этим представлением.

table_schema

String

Schema, который содержит таблицу, связанную с этим представлением.

table_name

String

Имя таблицы, которая связана с представлением. Базовая таблица.

column_name

String

Имя столбца.

UserDefinedTypes

Эта коллекция доступна только в версии SQL Server 2005 и выше.

ColumnName

DataType

Описание

assembly_name

String

Имя файла для сборки.

UDT_name

String

Имя класса для сборки.

version_major

Object

Основной номер версии.

version_minor

Object

Дополнительный номер версии.

version_build

Object

Номер сборки.

version_revision

Object

Номер редакции.

Culture_info

Object

Сведения о языке и региональных параметрах, которые связаны с этим определяемым пользователем типом.

Public_key

Object

Открытый ключ, используемый в этой сборке.

Is_fixed_length

Boolean

Указывает, является ли длина данных этого типа всегда равной значению max_length.

max_length

Int16

Максимальная длина значения типа в байтах.

permission_set_desc

String

Удобное в использовании имя набора разрешений и (или) уровня безопасности для сборки.

create_date

DateTime

Дата создания или регистрации сборки.

См. также

Другие ресурсы

Получение сведений о схеме базы данных (ADO.NET)