Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server 2017 (14.x) ve sonraki sürümleri
Azure SQL Yönetilen Örneği
Mevcut bir dış paket kitaplığının içeriğini değiştirir.
Uyarı
SQL Server 2017'de R dili ve Windows platformu desteklenir. Windows ve Linux platformlarındaki R, Python ve dış diller SQL Server 2019 ve sonraki sürümlerde desteklenir.
Uyarı
Azure SQL Yönetilen Örneği'nde, kitaplığı kaldırarak ve ardından değiştirilmiş sürümü yüklemek için sqlmlutils kullanarak kitaplığı değiştirebilirsiniz. sqlmlutils hakkında daha fazla bilgi için bkz. Sqlmlutils ile Python paketlerini yükleme ve sqlmlutils ile yeni R paketleri yükleme.
SQL Server 2019 söz dizimi
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>
}
SQL Server 2017 söz dizimi
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
}
Azure SQL Yönetilen Örneği söz dizimi
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
Mevcut paket kitaplığının adını belirtir. Kitaplıkların kapsamı kullanıcı olarak belirlenmiş. Kitaplık adları belirli bir kullanıcı veya sahip bağlamında benzersiz olmalıdır.
Kitaplık adı rastgele atanamaz. Yani, çağıran çalışma zamanının paketi yüklerken beklediği adı kullanmanız gerekir.
owner_name
Dış kitaplığın sahibi olan kullanıcının veya rolün adını belirtir.
file_spec
Belirli bir platform için paketin içeriğini belirtir. Platform başına yalnızca bir dosya yapıtı desteklenir.
Dosya yerel yol veya ağ yolu biçiminde belirtilebilir. Veri kaynağı seçeneği belirtilirse, dosya adı içinde EXTERNAL DATA SOURCEbaşvuruda bulunılan kapsayıcıya göre göreli bir yol olabilir.
İsteğe bağlı olarak, dosya için bir işletim sistemi platformu belirtilebilir. Belirli bir dil veya çalışma zamanı için her işletim sistemi platformu için yalnızca bir dosya yapıtına veya içeriğe izin verilir.
library_bits
Paketin içeriğini derlemelere benzer şekilde onaltılık değişmez değer olarak belirtir.
Bu seçenek, bir kitaplığı değiştirmek için gerekli izne sahipseniz ancak sunucudaki dosya erişimi kısıtlanmışsa ve içeriği sunucunun erişebileceği bir yola kaydedemiyorsanız kullanışlıdır.
Bunun yerine, paket içeriğini ikili biçimde bir değişken olarak geçirebilirsiniz.
platform = WINDOWS
Kitaplığın içeriğinin platformunu belirtir. Bu değer, farklı bir platform eklemek için var olan bir kitaplığı değiştirirken gereklidir. SQL Server 2017'de desteklenen tek platform Windows'dur.
peron
Kitaplığın içeriğinin platformunu belirtir. Bu değer, farklı bir platform eklemek için var olan bir kitaplığı değiştirirken gereklidir. SQL Server 2019'da desteklenen platformlar Windows ve Linux'tır.
Dİl = 'R'
Paketin dilini belirtir. R, SQL Server 2017'de desteklenir.
Dil
Paketin dilini belirtir. Değer Azure SQL Yönetilen Örneği'nde R veya Python olabilir.
Dil
Paketin dilini belirtir. Değer R, Python veya bir dış dilin adı olabilir (bkz. HARİÇ Dİl OLUŞTURMA).
Açıklamalar
R dili için paketler, Windows için .ZIP uzantısına sahip sıkıştırılmış arşiv dosyaları biçiminde hazırlanmalıdır. SQL Server 2017'de yalnızca Windows platformu desteklenir.
R dili için, bir dosya kullanılırken paketler .ZIP uzantısıyla sıkıştırılmış arşiv dosyaları biçiminde hazırlanmalıdır.
Python dili için bir .whl veya .zip dosyasındaki paket sıkıştırılmış arşiv dosyası biçiminde hazırlanmalıdır. Paket zaten bir .zip dosyasıysa, yeni bir .zip dosyasına eklenmelidir. Paketi .whl veya .zip dosyası olarak doğrudan karşıya yükleme şu anda desteklenmiyor.
ALTER EXTERNAL LIBRARY deyimi yalnızca kitaplık bitlerini veritabanına yükler. Değiştirilen kitaplık, kullanıcı kitaplığı çağıran sp_execute_external_script (Transact-SQL) içinde kod çalıştırdığında yüklenir.
Bir SQL örneğinde sistem paketleri olarak adlandırılan bir dizi paket önceden yüklenir. Sistem paketleri kullanıcı tarafından eklenemez, güncelleştirilemez veya kaldırılamaz.
Permissions
Varsayılan olarak , dbo kullanıcısı veya rol db_owner herhangi bir üyesi ALTER EXTERNAL LIBRARY çalıştırma iznine sahiptir. Ayrıca, dış kitaplığı oluşturan kullanıcı bu dış kitaplığı değiştirebilir.
Örnekler
Aşağıdaki örnekler adlı customPackagebir dış kitaplığı değiştirir.
Kitaplığın içeriğini dosya kullanarak değiştirme
Aşağıdaki örnek, güncelleştirilmiş bitleri içeren sıkıştırılmış bir dosya kullanarak adlı customPackagedış kitaplığı değiştirir.
ALTER EXTERNAL LIBRARY customPackage
SET
(CONTENT = 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\customPackage.zip')
WITH (LANGUAGE = 'R');
Güncelleştirilmiş kitaplığı yüklemek için saklı yordamını sp_execute_external_scriptyürütür.
EXEC sp_execute_external_script
@language =N'R',
@script=N'library(customPackage)'
;
Python dili için, örneği ile 'Python'değiştirerek 'R' de çalışır.
Bayt akışı kullanarak var olan bir kitaplığı değiştirme
Aşağıdaki örnek, yeni bitleri onaltılık değişmez değer olarak geçirerek var olan kitaplığı değiştirir.
ALTER EXTERNAL LIBRARY customLibrary
SET (CONTENT = 0xABC123...) WITH (LANGUAGE = 'R');
Python dili için, örneği ile 'Python'değiştirerek 'R' de çalışır.
Uyarı
Bu kod örneği yalnızca söz dizimini gösterir; içindeki CONTENT = ikili değeri okunabilirlik için kesilmiştir ve çalışma kitaplığı oluşturmaz. İkili değişkenin gerçek içeriği çok daha uzun olacaktır.
Ayrıca bakınız
CREATE EXTERNAL LIBRARY (Transact-SQL)
DROP EXTERNAL LIBRARY (Transact-SQL)
sys.external_library_files
sys.external_libraries