Sdílet prostřednictvím


sys.sp_data_source_table_columns (Transact-SQL)

platí pro: SQL Server 2019 (15.x)

Vrátí seznam sloupců v tabulce externího zdroje dat.

Poznámka:

Tento postup je zaveden v SQL 2019 CU5.

Transact-SQL konvence syntaxe

Syntaxe

sys.sp_data_source_table_columns
    [ @data_source = ] N'data_source'
    , [ @table_location = ] N'table_location'
    [ , [ @column_name = ] N'column_name' ]
    [ , [ @search_options = ] N'search_options' ]
[ ; ]

Arguments

[ @data_source = ] N'data_source'

Název externího zdroje dat, ze které chcete získat metadata. @data_source je sysname bez výchozího nastavení.

[ @table_location = ] N'table_location'

Řetězec umístění tabulky, který identifikuje tabulku. @table_location je nvarchar(max), bez výchozího nastavení.

[ @column_name = ] N'column_name'

Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.

[ @search_options = ] N'search_options'

Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.

Sada výsledků

Uložená procedura vrátí následující informace:

Název sloupce Datový typ Description
name nvarchar(max) Název sloupce.
type nvarchar(200) Typ názvu SQL Serveru.
length int Délka sloupce
precision int Přesnost sloupce
scale int Měřítko sloupce
collation nvarchar(200) Kolace sloupce sql Serveru
is_nullable bit 1 = nullable, 0 = not nullable.
source_type_name nvarchar(max) Název typu konkrétního back-endu Většinou se používá k ladění. Pro zdroje source_type_name ODBC odpovídá výslednému sloupci TYPE_NAME pro SQLColumns().
remarks nvarchar(max) Obecné komentáře nebo popis sloupce Aktuálně vždy NULL.

Povolení

Vyžaduje ALTER ANY EXTERNAL DATA SOURCE oprávnění.

Poznámky

Instance SQL Serveru musí mít nainstalovanou funkci PolyBase .

Tato uložená procedura podporuje konektory pro:

  • SQL Server
  • Oracle
  • Teradata
  • MongoDB
  • Azure Cosmos DB

Uložená procedura nepodporuje obecný zdroj dat ODBC ani konektory Hadoop.

Pojem prázdný vs. neprázdný souvisí s chováním ovladače ODBC a funkce SQLTables . Neprázdný indikuje, že objekt obsahuje tabulky, ne řádky. Například prázdné schéma neobsahuje v SQL Serveru žádné tabulky. Prázdná databáze neobsahuje žádné tabulky uvnitř Teradata. Výsledky představují reprezentaci back-endového schématu SQL Serveru, jak je interpretuje konektor PolyBase pro back-end. Rozdíl spočívá v tom, že místo pouhého předávání výsledků volání ODBC do back-endu jsou výsledky založeny na výsledku kódu mapování typu PolyBase.

Použití sp_data_source_objects a sp_data_source_table_columns zjišťování externích objektů. Tyto systémové uložené procedury vrací schéma tabulek, které jsou k dispozici pro virtualizaci. Slouží sp_data_source_table_columns ke zjišťování schémat externích tabulek reprezentovaných v datových typech SQL Serveru.

Vzhledem k rozdílům mezi kolacemi ve zdrojových datech Hadoopu a podporovanými kolacemi v SQL Serveru 2019 (15.x) může být doporučená délka datového typu pro sloupce datového typu varchar v externích tabulkách mnohem větší, než se čekalo. Toto chování je úmyslné.

Synonyma Oracle nejsou podporována pro použití s PolyBase.

Examples

Následující příklad vrátí sloupce tabulky pro externí tabulku v SQL Serveru s názvem server, které patří do schématu s názvem schema.

DECLARE @data_source AS SYSNAME = N'ExternalDataSourceName';
DECLARE @table_location AS NVARCHAR (400) = N'[database].[schema].[table]';

EXECUTE sp_data_source_table_columns
    @data_source,
    @table_location;