Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2019 (15.x)
Wijzigt de inhoud in een bestaande externe taaluitbreiding in de database.
Syntax
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'
Arguments
language_name
Talen zijn databasescoped objecten. Taalnamen moeten uniek zijn binnen de database.
owner_name
Specificeert de naam van de gebruiker of rol die eigenaar is van de externe taal. Als dit niet is opgegeven, wordt het eigendom aan de huidige gebruiker gegeven. Afhankelijk van de rechten moeten andere gebruikers mogelijk expliciete toestemming krijgen om scripts uit te voeren in een specifieke taal.
file_spec
Specificeert de inhoud van de taalextensie. Er is slechts één bestandsspecificatie toegestaan voor een specifieke taal, per platform.
external_lang_specifier
Het volledige bestandspad naar het .zip of tar.gz bestand met de extensiecode. Deze inhoud kan een pad zijn naar een .zip-bestand (op Windows) of tar.gz (op Linux).
content_bits
Specificeert de inhoud van de taal als een hex-literaal, vergelijkbaar met assemblies. Deze optie is handig als je een taal moet maken of een bestaande taal wilt aanpassen (en de benodigde rechten daarvoor hebt), maar het bestandssysteem op de server is beperkt en je kunt de bibliotheekbestanden niet kopiëren naar een locatie waar de server toegang toe heeft.
external_lang_file_name
Naam van de extensie .dll of .so bestand. Dit is nodig om het juiste bestand te identificeren, in gevallen waarin er meerdere .dll- of .so-bestanden in de <external_lang_specifier> .zip of tar.gz zijn.
external_lang_parameters
Dit biedt de mogelijkheid om een set parameters aan de externe taalruntime te geven. Parameterwaarden worden aan de externe runtime geleverd nadat het externe proces is gestart. Omgevingsvariabelen zijn echter toegankelijk voor de taaluitbreiding vóór het externe proces wordt opgezet.
external_lang_env_variables
Dit biedt de mogelijkheid om een set omgevingsvariabelen aan de externe taalruntime te geven vóór het externe proces opstart. Een voorbeeld van een omgevingsvariabele is bijvoorbeeld de thuismap van de runtime zelf. Bijvoorbeeld: JRE_HOME.
perron
Deze parameter is nodig voor hybride OS-scenario's. In een hybride architectuur moet de taal eenmaal per platform worden geregistreerd. Platform- en taalnaam zal de unieke sleutel per externe taal zijn. Als er geen platform wordt gespecificeerd, wordt aangenomen dat het huidige besturingssysteem is.
Remarks
Momenteel worden PARAMETERS en ENVIRONMENT_VARIABLES niet ondersteund.
Permissions
Hiervoor is de machtiging ALTER ANY EXTERNAL LANGUAGE vereist. Standaard heeft elke gebruiker met een dbo die lid is van de db_owner rol de rechten om een externe taal te wijzigen. Voor alle andere gebruikers moet je expliciet toestemming geven met een GRANT instructie, waarin ALTER ANY EXTERNAL LANGUAGE als privilege wordt gespecificeerd.
Examples
Verander een externe taal in een database
In het volgende voorbeeld wordt een externe taal met de naam Java toegevoegd aan een database op SQL Server in Windows.
ALTER EXTERNAL LANGUAGE Java
SET (CONTENT = N'<path-to-zip>', FILE_NAME = 'javaextension.dll');
GO
Zie ook
CREATE EXTERNAL LANGUAGE (Transact-SQL)
DROP EXTERNAL LANGUAGE (Transact-SQL)
sys.external_languages
sys.external_language_files