ALTER EXTERNAL LANGUAGE (Transact-SQL)

Şunlar için geçerlidir: SQL Server 2019 (15.x)

Veritabanındaki mevcut harici bir dil uzantısındaki içeriği değiştirir.

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

Diller, veritabanı kapsamlı nesnelerdir. Dil isimleri veritabanında benzersiz olmalıdır.

owner_name

Dış dili sahip olan kullanıcının veya rolün adını belirtir. Belirtilmezse, sahiplik geçerli kullanıcıya verilir. İzinlere bağlı olarak, diğer kullanıcılara belirli bir dil kullanarak script çalıştırmak için açık izin verilebilir.

file_spec

Dil uzantısının içeriğini belirtir. Her platform için belirli bir dil için yalnızca bir dosya spec'i izinlidir.

external_lang_specifier

Uzantılar kodunu içeren .zip veya tar.gz dosyasına giden tam dosya yolu. Bu içerik ya .zip dosyasına giden yol (Windows'de) ya da tar.gz (Linux'ta) olabilir.

content_bits

Dilin içeriğini, assemble'lere benzer şekilde, bir hex literal olarak belirtir. Bu seçenek, bir dil oluşturmanız veya mevcut bir dili değiştirmeniz gerekiyorsa (ve bunun için gerekli izinlere sahipseniz) faydalıdır, ancak sunucudaki dosya sistemi kısıtlıdır ve kütüphane dosyalarını sunucunun erişebileceği bir konuma kopyalayamazsınız.

external_lang_file_name

Uzantı .dll veya .so dosyasının adı. Bu, external_lang_specifier .zip veya tar.gz> içinde birkaç .dll veya .so dosyası <olduğunda doğru dosyayı belirlemek için gereklidir.

external_lang_parameters

Bu, dış dil çalışma zamanına bir dizi parametre verme imkanı sağlar. Parametre değerleri, harici işlem başladıktan sonra harici çalışma zamanına sağlanır. Ancak ortam değişkenleri, harici süreç başlatmadan önce dil uzantısına erişebilmektedir.

external_lang_env_variables

Bu, harici süreç başlatmadan önce harici dil çalışma zamanına bir dizi ortam değişkeni verme imkanı sağlar. Bir ortam değişkenine örnek olarak, çalışma zamanının ana dizini örneğin. Örneğin: JRE_HOME.

peron

Bu parametre hibrit işletim sistemi senaryoları için gereklidir. Hibrit mimaride, dil platform başına bir kez kaydedilmelidir. Platform ve dil adı, harici dil için benzersiz anahtar olacaktır. Herhangi bir platform belirtilmemişse, mevcut işletim sistemi varsayılır.

Remarks

Şu anda PARAMETERS ve ENVIRONMENT_VARIABLES desteklenmemektedir.

Permissions

İzin gerektirir ALTER ANY EXTERNAL LANGUAGE . Varsayılan olarak, dbo sahibi olan ve db_owner rolünün üyesi olan herhangi bir kullanıcının harici bir dili değiştirme iznine sahiptir. Diğer tüm kullanıcılar için, ayrıcalık olarak ALTER ANY EXTERNAL LANGUAGE belirten bir GRANT ifade kullanarak onlara açıkça izin vermelisiniz.

Examples

Veritabanında harici bir dili değiştirmek

Aşağıdaki örnek, Windows üzerinde SQL Server'da bir veritabanına Java adlı bir dış dil ekler.

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

Ayrıca bakınız

CREATE EXTERNAL LANGUAGE (Transact-SQL)
DROP EXTERNAL LANGUAGE (Transact-SQL)
sys.external_languages
sys.external_language_files