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.
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;