ALTER EXTERNAL LANGUAGE (Transact-SQL)

A következőkre vonatkozik: SQL Server 2019 (15.x)

Módosítja az adatbázisban meglévő külső nyelvi kiterjesztés tartalmát.

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

A nyelvek adatbázis-keretű objektumok. A nyelvneveknek egyedinek kell lenniük az adatbázisban.

owner_name

Megadja a külső nyelv tulajdonosának vagy felhasználójának vagy szerepének nevét. Ha nincs megadva, a tulajdonjog az aktuális felhasználónak lesz megadva. A jogosultságoktól függően más felhasználóknak is explicit engedélyt kell kapniuk szkriptek futtatására egy adott nyelven.

file_spec

Megadja a nyelvkiterjesztés tartalmát. Egy adott nyelvhez platformonként csak egy fájlspecifikáció engedélyezett.

external_lang_specifier

A teljes fájlút a .zip vagy tar.gz fájlhoz, amely tartalmazza a kiterjesztési kódot. Ez a tartalom lehet .zip fájlhoz vezető út (Windows-en), vagy tar.gz (Linuxon).

content_bits

A nyelv tartalmát hatszög literálisként határozza meg, hasonlóan az összeállításokhoz. Ez az opció akkor hasznos, ha nyelvet kell létrehozni vagy módosítani egy meglévő nyelvet (és megvan a szükséges jogosultság), de a szerver fájlrendszere korlátozott, és nem lehet a könyvtárfájlokat olyan helyre másolni, amelyhez a szerver hozzáférhet.

external_lang_file_name

A .dll vagy .so fájl kiterjesztésének neve. Ez szükséges a helyes fájl azonosításához abban az esetben, ha a external_lang_specifier< .zip vagy tar.gz több .dll vagy .so fájl >található.

external_lang_parameters

Ez lehetőséget ad arra, hogy paraméterhalmazt adjunk a külső nyelvi futásidőnek. A paraméterértékeket a külső futás után adják meg a külső futásidőben. A környezeti változók azonban a nyelvkiterjesztés számára elérhetők a külső folyamat indítása előtt.

external_lang_env_variables

Ez lehetőséget ad arra, hogy a külső nyelvi futás előtt környezeti változók halmazát adjunk a külső nyelvi futásidőnek. Egy környezeti változó példa például a futás saját kódja a futtatási időben. Például: JRE_HOME.

peron

Ez a paraméter hibrid operációs rendszer forgatókönyvekhez szükséges. Hibrid architektúrában a nyelvet platformonként egyszer kell regisztrálni. A platform és a nyelv neve lesz az egyedi kulcs külső nyelvenként. Ha nincs megjelölve platform, akkor a jelenlegi operációs rendszert feltételezik.

Remarks

Jelenleg a PARAMETERS és ENVIRONMENT_VARIABLES nem támogatott.

Permissions

A ALTER ANY EXTERNAL LANGUAGE engedélyre van szükség. Alapértelmezés szerint bármely felhasználó, akinek a dbo-jaa db_owner szerep tagja, jogosult külső nyelv módosítására. Minden más felhasználónak kifejezetten engedélyt kell megadnia egy GRANT nyilatkozattal, amelyben az ALTER ANY EXTERNAL LANGUAGE jogosultságot jelöli.

Examples

Külső nyelv módosítása egy adatbázisban

Az alábbi példa egy Java nevű külső nyelvet ad hozzá egy windowsos SQL Serveren futó adatbázishoz.

ALTER EXTERNAL LANGUAGE Java 
SET (CONTENT = N'<path-to-zip>', FILE_NAME = 'javaextension.dll');
GO