Bagikan melalui


sp_data_source_table_columns (T-SQL)

Berlaku untuk: SQL Server 2019 (15.x)

Mengembalikan daftar kolom dalam tabel sumber data eksternal.

Catatan

Prosedur ini diperkenalkan dalam SQL 2019 CU5.

Konvensi sintaks transact-SQL

Sintaks

sp_data_source_table_columns
         [ @data_source = ] 'data_source'
       , [ @table_location = ] 'table_location'
[ ; ]

Argumen

[ @data_source = ] 'data_source'

Nama sumber data eksternal untuk mendapatkan metadata. Jenisnya adalah sysname.

[ @table_location = ] 'table_location'

String lokasi tabel yang mengidentifikasi tabel. table_location jenisnya adalah nvarchar(max).

Tataan hasil

Prosedur tersimpan mengembalikan informasi berikut:

Nama kolom Jenis data Deskripsi
name nvarchar(maks) Nama kolom.
type nvarchar(200) Nama jenis SQL Server.
length int Panjang kolom.
precision int Presisi kolom.
scale int Skala kolom.
collation nvarchar(200) Kolase kolom SQL Server.
is_nullable bit 1 = nullable, 0 = tidak dapat diubah ke null.
source_type_name nvarchar(maks) Nama jenis khusus backend. Sebagian besar digunakan untuk penelusuran kesalahan. Untuk sumber ODBC, source_type_name sesuai dengan kolom hasil TYPE_NAME untuk SQLColumns().
remarks nvarchar(maks) Komentar umum atau deskripsi kolom. Saat ini selalu NULL.

Izin

Memerlukan ALTER ANY EXTERNAL DATA SOURCE izin.

Keterangan

Instans SQL Server harus menginstal fitur PolyBase .

Prosedur tersimpan ini mendukung konektor untuk:

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

Prosedur tersimpan tidak mendukung sumber data ODBC generik atau konektor Hadoop.

Gagasan kosong vs. tidak kosong berkaitan dengan perilaku driver ODBC dan fungsi SQLTables . Tidak kosong menunjukkan objek berisi tabel, bukan baris. Misalnya, skema kosong tidak berisi tabel di SQL Server. Database kosong berisi tanpa tabel di dalam Teradata. Hasilnya adalah representasi SQL Server dari skema backend seperti yang ditafsirkan oleh konektor PolyBase untuk backend. Perbedaannya di sini adalah bahwa alih-alih hanya meneruskan hasil panggilan ODBC ke backend, hasilnya didasarkan pada hasil kode pemetaan jenis PolyBase.

Gunakan sp_data_source_objects dan sp_data_source_table_columns untuk menemukan objek eksternal. Prosedur tersimpan sistem ini mengembalikan skema tabel yang tersedia untuk divirtualisasi. Azure Data Studio menggunakan dua prosedur tersimpan ini untuk mendukung virtualisasi data. Gunakan sp_data_source_table_columns untuk menemukan skema tabel eksternal yang diwakili dalam jenis data SQL Server.

Karena perbedaan antara kolase dalam data sumber Hadoop dan kolase yang didukung di SQL Server 2019 (15.x), panjang jenis data yang direkomendasikan untuk kolom jenis data varchar dalam tabel eksternal mungkin jauh lebih besar dari yang diharapkan. Ini memang disengaja.

Sinonim Oracle tidak didukung untuk penggunaan dengan PolyBase.

Contoh

Contoh berikut mengembalikan kolom tabel untuk tabel eksternal di SQL Server bernama server, milik skema bernama 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;