sp_data_source_table_columns (Transact-SQL)
S’applique à : SQL Server 2019 (15.x)
Retourne la liste des colonnes dans la table de source de données externe.
Remarque
Cette procédure est introduite dans SQL 2019 CU5.
Conventions de la syntaxe Transact-SQL
Syntaxe
sp_data_source_table_columns
[ @data_source = ] 'data_source'
, [ @table_location = ] 'table_location'
[ ; ]
Arguments
[ @data_source = ] 'data_source'
Nom de la source de données externe à partir duquel obtenir les métadonnées. Type : sysname
.
[ @table_location = ] 'table_location'
Chaîne d’emplacement de la table qui identifie la table. table_location
type est nvarchar(max)
.
Jeu de résultats
La procédure stockée retourne les informations suivantes :
Nom de la colonne | Type de données | Description |
---|---|---|
name |
nvarchar(max) | Nom de la colonne. |
type |
nvarchar(200) | Nom du type SQL Server. |
length |
int | Longueur de la colonne. |
precision |
int | Précision de la colonne. |
scale |
int | Échelle de colonne. |
collation |
nvarchar(200) | Classement SQL Server de colonne. |
is_nullable |
bit | 1 = nullable, 0 = non nullable. |
source_type_name |
nvarchar(max) | Nom de type spécifique au back-end. Principalement utilisé pour le débogage. Pour les sources ODBC, source_type_name correspond à la colonne de TYPE_NAME résultat pour SQLColumns() . |
remarks |
nvarchar(max) | Commentaires généraux ou description de la colonne. Actuellement toujours NULL . |
Autorisations
Exige l’autorisation ALTER ANY EXTERNAL DATA SOURCE.
Notes
L’instance SQL Server doit avoir installé la fonctionnalité PolyBase .
Cette procédure stockée prend en charge les connecteurs pour :
- SQL Server
- Oracle
- Teradata
- MongoDB
- Azure Cosmos DB
La procédure stockée ne prend pas en charge la source de données ODBC générique ou les connecteurs Hadoop.
La notion de vide ou non vide concerne le comportement du pilote ODBC et de la SQLTables
fonction. Non vide indique qu’un objet contient des tables, et non des lignes. Par exemple, un schéma vide ne contient aucune table dans SQL Server. Une base de données vide ne contient aucune table dans Teradata. Les résultats sont une représentation SQL Server du schéma principal tel qu’interprété par le connecteur PolyBase pour le back-end. La distinction ici est que au lieu de simplement transmettre les résultats de l’appel ODBC au back-end, les résultats sont basés sur le résultat du code de mappage de type PolyBase.
Utilisez sp_data_source_objects
et sp_data_source_table_columns
découvrez des objets externes. Ces procédures stockées système retournent le schéma des tables disponibles pour être virtualisées. Azure Data Studio utilise ces deux procédures stockées pour prendre en charge la virtualisation des données. Permet sp_data_source_table_columns
de découvrir les schémas de table externes représentés dans les types de données SQL Server.
En raison des différences entre les classements dans les données sources Hadoop et les classements pris en charge dans SQL Server 2019, les longueurs de type de données recommandées pour les colonnes de type de données varchar dans des tables externes peuvent être beaucoup plus grandes que prévu. C'est la procédure normale.
Les synonymes Oracle ne sont pas pris en charge pour l’utilisation avec PolyBase.
Exemples
L’exemple suivant retourne les colonnes de table d’une table externe dans un serveur SQL Server nommé server
, appartenant à un schéma nommé 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
Contenu connexe
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour