sp_data_source_table_columns (Transact-SQL)
Область применения: SQL Server 2019 (15.x)
Возвращает список столбцов во внешней таблице источника данных.
Примечание.
Эта процедура представлена в SQL 2019 CU5.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_data_source_table_columns
[ @data_source = ] 'data_source'
, [ @table_location = ] 'table_location'
[ ; ]
Аргументы
[ @data_source = ] 'data_source'
Имя внешнего источника данных для получения метаданных. Тип : sysname
.
[ @table_location = ] 'table_location'
Строка расположения таблицы, идентифицирующая таблицу. table_location
тип .nvarchar(max)
Результирующий набор
Хранимая процедура возвращает следующие сведения:
Имя столбца | Тип данных | Description |
---|---|---|
name |
nvarchar(max) | Имя столбца. |
type |
nvarchar(200) | Имя типа SQL Server. |
length |
int | Длина столбца. |
precision |
int | Точность столбца. |
scale |
int | Масштаб столбца. |
collation |
nvarchar(200) | Параметры сортировки столбца SQL Server. |
is_nullable |
bit | 1 = nullable, 0 = not nullable. |
source_type_name |
nvarchar(max) | Имя типа, зависящем от серверной части. В основном используется для отладки. Для источников ODBC соответствует source_type_name столбцу TYPE_NAME результатов для SQLColumns() . |
remarks |
nvarchar(max) | Общие комментарии или описание столбца. В настоящее время всегда NULL . |
Разрешения
Требуется разрешение ALTER ANY EXTERNAL DATA SOURCE.
Замечания
Экземпляр SQL Server должен установить компонент PolyBase .
Эта хранимая процедура поддерживает соединители для:
- SQL Server
- Oracle;
- Teradata
- MongoDB
- Azure Cosmos DB
Хранимая процедура не поддерживает универсальный источник данных ODBC или соединители Hadoop.
Понятие пустого и непустого относится к поведению драйвера ODBC и SQLTables
функции. Непустая указывает, что объект содержит таблицы, а не строки. Например, пустая схема не содержит таблиц в SQL Server. Пустая база данных содержит без таблиц внутри Teradata. Результаты — это представление серверной схемы SQL Server, интерпретируемое соединителем PolyBase для серверной части. Различие заключается в том, что вместо простой передачи результатов вызова ODBC серверной части результаты основаны на результатах кода сопоставления типов PolyBase.
Использование sp_data_source_objects
и sp_data_source_table_columns
обнаружение внешних объектов. Эти системные хранимые процедуры возвращают схему таблиц, доступных для виртуализации. Azure Data Studio использует эти две хранимые процедуры для поддержки виртуализации данных. Используется sp_data_source_table_columns
для обнаружения схем внешней таблицы, представленных в типах данных SQL Server.
Из-за различий между параметрами сортировки в исходных данных Hadoop и поддерживаемыми параметрами сортировки в SQL Server 2019 рекомендуемые длины типов данных для столбцов типов данных varchar в внешних таблицах могут быть гораздо больше, чем ожидалось. Это сделано намеренно.
Синонимы Oracle не поддерживаются для использования с PolyBase.
Примеры
В следующем примере возвращаются столбцы таблицы для внешней таблицы в именованном SQL Server, относящемся к схеме с именемserver
schema
.
DECLARE @data_source SYSNAME = N'ExternalDataSourceName';
DECLARE @table_location NVARCHAR(400) = N'[database].[schema].[table]';
EXEC sp_data_source_table_columns @data_source, @table_location