Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: SQL Server 2017 (14.x) a novější verze
Azure SQL Managed Instance
Upraví obsah existující externí knihovny balíčků.
Poznámka:
V SYSTÉMU SQL Server 2017 (14.x) se podporuje jazyk R a platforma Windows. R, Python a externí jazyky na platformách Windows a Linux jsou podporované v SQL Serveru 2019 (15.x) a novějších verzích.
Syntaxe pro SQL Server 2019
ALTER EXTERNAL LIBRARY library_name
[ AUTHORIZATION owner_name ]
SET <file_spec>
WITH ( LANGUAGE = <language> )
[ ; ]
<file_spec> ::=
{
(CONTENT = { <client_library_specifier> | <library_bits> | NONE}
[, PLATFORM = <platform> )
}
<client_library_specifier> :: =
{
'[\\computer_name\]share_name\[path\]manifest_file_name'
| '[local_path\]manifest_file_name'
| '<relative_path_in_external_data_source>'
}
<library_bits> :: =
{
varbinary_literal
| varbinary_expression
}
<platform> :: =
{
WINDOWS
| LINUX
}
<language> :: =
{
'R'
| 'Python'
| <external_language>
}
Syntaxe pro SQL Server 2017
ALTER EXTERNAL LIBRARY library_name
[ AUTHORIZATION owner_name ]
SET <file_spec>
WITH ( LANGUAGE = 'R' )
[ ; ]
<file_spec> ::=
{
(CONTENT = { <client_library_specifier> | <library_bits> | NONE}
[, PLATFORM = WINDOWS )
}
<client_library_specifier> :: =
{
'[\\computer_name\]share_name\[path\]manifest_file_name'
| '[local_path\]manifest_file_name'
| '<relative_path_in_external_data_source>'
}
<library_bits> :: =
{
varbinary_literal
| varbinary_expression
}
Syntaxe pro spravovanou instanci Azure SQL
CREATE EXTERNAL LIBRARY library_name
[ AUTHORIZATION owner_name ]
FROM <file_spec> [ ,...2 ]
WITH ( LANGUAGE = <language> )
[ ; ]
<file_spec> ::=
{
(CONTENT = <library_bits>)
}
<library_bits> :: =
{
varbinary_literal
| varbinary_expression
}
<language> :: =
{
'R'
| 'Python'
}
Arguments
LIBRARY_NAME
Určuje název existující knihovny balíčků. Knihovny jsou omezené na uživatele. Názvy knihoven musí být jedinečné v kontextu konkrétního uživatele nebo vlastníka.
Název knihovny nelze libovolně přiřadit. To znamená, že musíte použít název, který volající modul runtime očekává při načtení balíčku.
OWNER_NAME
Určuje název uživatele nebo role, která vlastní externí knihovnu.
FILE_SPEC
Určuje obsah balíčku pro konkrétní platformu. Podporuje se pouze jeden artefakt souboru na platformu.
Soubor lze zadat ve formě místní cesty nebo síťové cesty. Pokud je zadána možnost zdroje dat, název souboru může být relativní cesta s ohledem na kontejner odkazovaný v objektu EXTERNAL DATA SOURCE.
Volitelně je možné zadat platformu operačního systému pro soubor. Pro každou platformu operačního systému pro konkrétní jazyk nebo modul runtime je povolen pouze jeden artefakt souboru nebo obsah.
LIBRARY_BITS
Určuje obsah balíčku jako šestnáctkový literál, podobně jako sestavení.
Tato možnost je užitečná, pokud máte požadovaná oprávnění ke změně knihovny, ale přístup k souborům na serveru je omezený a nemůžete obsah uložit do cesty, ke které má server přístup.
Místo toho můžete obsah balíčku předat jako proměnnou v binárním formátu.
PLATFORM = WINDOWS
Určuje platformu pro obsah knihovny. Tato hodnota se vyžaduje při úpravě existující knihovny pro přidání jiné platformy. V SYSTÉMU SQL Server 2017 (14.x) je windows jedinou podporovanou platformou.
PLATFORMA
Určuje platformu pro obsah knihovny. Tato hodnota se vyžaduje při úpravě existující knihovny pro přidání jiné platformy. V SQL Serveru 2019 (15.x) jsou podporované platformy Windows a Linux.
LANGUAGE = 'R'
Určuje jazyk balíčku. Jazyk R je podporován v SQL Serveru 2017 (14.x).
LANGUAGE
Určuje jazyk balíčku. Hodnota může být R nebo Python ve službě Azure SQL Managed Instance.
LANGUAGE
Určuje jazyk balíčku. Hodnota může být R, Pythonnebo název externího jazyka (viz CREATE EXTERNAL LANGUAGE).
Poznámky
Pro jazyk R musí být balíčky připravené ve formě komprimovaných archivních souborů s příponou .zip pro Windows. V SQL Serveru 2017 (14.x) se podporuje jenom platforma Windows.
Pro jazyk R musí být balíčky při použití souboru připravené ve formě komprimovaných archivních souborů s příponou .zip .
Pro jazyk Python musí být balíček v souboru nebo .zip souboru .whl připravený ve formě souboru komprimovaného archivu. Pokud už balíček je .zip soubor, musí být součástí nového .zip souboru. Nahrání balíčku jako .whl nebo .zip souboru přímo se v současné době nepodporuje.
Příkaz ALTER EXTERNAL LIBRARY nahraje do databáze jenom bity knihovny. Upravená knihovna se nainstaluje, když uživatel spustí kód v sp_execute_external_script , který knihovnu volá.
Několik balíčků, označovaných jako systémové balíčky, je předinstalováno v instanci SQL. Systémové balíčky nemůžete přidávat, aktualizovat ani odebírat.
Povolení
Ve výchozím nastavení má uživatel dbo nebo jakýkoli člen role db_owner oprávnění ke spuštění ALTER EXTERNAL LIBRARY. Kromě toho uživatel, který vytvořil externí knihovnu, může tuto externí knihovnu změnit.
Examples
Následující příklady mění externí knihovnu s názvem customPackage.
Nahrazení obsahu knihovny pomocí souboru
Následující příklad upraví externí knihovnu s názvem customPackage, pomocí zip souboru obsahujícího aktualizované bity.
ALTER EXTERNAL LIBRARY customPackage
SET (CONTENT = 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\customPackage.zip')
WITH (LANGUAGE = 'R');
Chcete-li nainstalovat aktualizovanou knihovnu, spusťte uloženou proceduru sp_execute_external_script.
EXECUTE sp_execute_external_script
@language = N'R',
@script = N'library(customPackage)';
V případě jazyka Python funguje příklad také nahrazením 'R' .'Python'
Změna existující knihovny pomocí bajtového streamu
Následující příklad změní existující knihovnu předáním nových bitů jako šestnáctkového literálu.
ALTER EXTERNAL LIBRARY customLibrary
SET (CONTENT = 0xABC123...) WITH (LANGUAGE = 'R');
V případě jazyka Python funguje příklad také nahrazením 'R' .'Python'
Poznámka:
Tento vzorový kód demonstruje pouze syntaxi; binární hodnota je CONTENT = zkrácena pro čitelnost a nevytvoří pracovní knihovnu. Skutečný obsah binární proměnné je delší.