Événements
31 mars, 23 h - 2 avr., 23 h
Le plus grand événement d’apprentissage SQL, Fabric et Power BI. 31 mars au 2 avril. Utilisez le code FABINSIDER pour économiser 400 $.
Inscrivez-vous aujourd’huiCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
S’applique à : SQL Server 2019 (15.x)
Modifie le contenu d’une extension de langage externe existante dans la base de données.
ALTER EXTERNAL LANGUAGE language_name
[ AUTHORIZATION owner_name ]
{
SET <file_spec>
| ADD <file_spec>
| REMOVE PLATFORM <platform>
}
[ ; ]
<file_spec> ::=
{
( CONTENT = {<external_lang_specifier> | <content_bits>,
FILE_NAME = <external_lang_file_name>
[, PLATFORM = <platform> ]
[, PARAMETERS = <external_lang_parameters> ]
[, ENVIRONMENT_VARIABLES = <external_lang_env_variables> ] )
}
<external_lang_specifier> :: =
{
'[file_path\]os_file_name'
}
<content_bits> :: =
{
varbinary_literal
| varbinary_expression
}
<external_lang_file_name> :: =
'extension_file_name'
<platform> :: =
{
WINDOWS
| LINUX
}
< external_lang_parameters > :: =
'extension_specific_parameters'
language_name
Les langages sont des objets dont l’étendue est limitée à la base de données. Les noms de langage doivent être uniques dans la base de données.
owner_name
Spécifie le nom de l’utilisateur ou du rôle propriétaire du langage externe. En l'absence de spécification, la propriété revient à l'utilisateur actuel. Suivant les autorisations, il peut s’avérer nécessaire d’accorder à d’autres utilisateurs une autorisation explicite pour exécuter des scripts à l’aide d’un langage spécifique.
file_spec
Spécifie le contenu de l’extension de langage. Un seul fichier de spécification est autorisé pour un langage spécifique par plateforme.
external_lang_specifier
Chemin complet du fichier .zip ou tar.gz contenant le code des extensions. Ce contenu peut être le chemin d’un fichier .zip (sur Windows) ou d’un fichier tar.gz (sur Linux).
content_bits
Spécifie le contenu du langage en tant que littéral hexadécimal, similaire aux assemblys. Cette option est utile si vous devez créer un langage ou modifier un langage existant (et que vous disposez des autorisations nécessaires), mais que le système de fichiers sur le serveur est restreint et vous ne pouvez pas copier les fichiers de bibliothèque vers un emplacement accessible au serveur.
external_lang_file_name
Nom du fichier d’extension .dll ou .so. Cet argument est nécessaire pour identifier le fichier approprié, au cas où il existerait plusieurs fichiers .dll ou .so dans le fichier .zip ou tar.gz défini par <external_lang_specifier>.
external_lang_parameters
Cet argument permet de donner un ensemble de paramètres au runtime de langage externe. Les valeurs de paramètre sont fournies au runtime externe une fois que le processus externe a démarré. Toutefois, les variables d’environnement sont accessibles à l’extension de langage avant le démarrage du processus externe.
external_lang_env_variables
Cet argument permet de donner un ensemble de variables d’environnement au runtime de langage externe avant le démarrage du processus externe. Un exemple de variable d’environnement est le répertoire de base du runtime lui-même. Par exemple : JRE_HOME.
platform
Ce paramètre est nécessaire pour les scénarios de systèmes d’exploitation hybrides. Dans une architecture hybride, le langage doit être inscrit une fois par plateforme. La plateforme et le nom du langage constituent la clé unique par langage externe. Si aucune plateforme n’est spécifiée, le système d’exploitation actuel est pris en considération.
Actuellement, PARAMETERS et ENVIRONMENT_VARIABLES ne sont pas pris en charge.
Nécessite l’autorisation ALTER ANY EXTERNAL LANGUAGE
. Par défaut, tout utilisateur qui possède dbo, membre du rôle db_owner, dispose des autorisations nécessaires pour modifier un langage externe. En ce qui concerne les autres utilisateurs, vous devez leur en donner l’autorisation explicitement à l’aide d’une instruction GRANT, en spécifiant le privilège ALTER ANY EXTERNAL LANGUAGE.
L’exemple suivant ajoute un langage externe appelé Java à une base de données sur SQL Server sur Windows.
ALTER EXTERNAL LANGUAGE Java
SET (CONTENT = N'<path-to-zip>', FILE_NAME = 'javaextension.dll');
GO
CREATE EXTERNAL LANGUAGE (Transact-SQL)
DROP EXTERNAL LANGUAGE (Transact-SQL)
sys.external_languages
sys.external_language_files
Événements
31 mars, 23 h - 2 avr., 23 h
Le plus grand événement d’apprentissage SQL, Fabric et Power BI. 31 mars au 2 avril. Utilisez le code FABINSIDER pour économiser 400 $.
Inscrivez-vous aujourd’hui