SQL Server için R özel çalışma zamanı yükleme

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

SQL Server ile dış R betiklerini çalıştırmak için bir R özel çalışma zamanı yüklemeyi öğrenin:

  • Windows
  • Ubuntu Linux
  • Red Hat Enterprise Linux (RHEL)
  • SUSE Linux Enterprise Server (SLES) sürüm 12

Özel çalışma zamanı makine öğrenmesi betiklerini çalıştırabilir ve SQL Server Dil Uzantılarını kullanır.

SQL Server Machine Learning Services ile yüklenen varsayılan çalışma zamanı sürümü yerine SQL Server ile R çalışma zamanının kendi sürümünü kullanın.

SQL Server 2022 'den (16.x) başlayarak, R, Python ve Java çalışma zamanları artık SQL Kurulumu ile yüklenmez. Bunun yerine, istediğiniz R özel çalışma zamanlarını ve paketlerini yükleyin. Daha fazla bilgi için bkz. Windows'a SQL Server 2022 Machine Learning Services (Python ve R) yükleme veya Linux'a SQL Server Machine Learning Services (Python ve R) yükleme.

Önkoşullar

R özel çalışma zamanını yüklemeden önce aşağıdakileri yükleyin:

Dil Uzantılarını Yükleme

Uyarı

SQL Server 2019'da Machine Learning Services yüklüyse, Dil Uzantıları zaten yüklüdür ve bu adımı atlayabilirsiniz.

R özel çalışma zamanı için kullanılan SQL Server Dil Uzantılarını yüklemek için aşağıdaki adımları izleyin.

  1. SQL Server 2019 için kurulum sihirbazını başlatın.

  2. Yükleme sekmesinde Yeni SQL Server tek başına yükleme'yi seçin veya var olan bir yüklemeye özellik ekleyin.

  3. Özellik Seçimi sayfasında şu seçenekleri belirleyin:

    • Veritabanı Altyapısı Hizmetleri

      Dil Uzantılarını SQL Server ile kullanmak için veritabanı altyapısının bir örneğini yüklemeniz gerekir. Yeni veya mevcut bir örneği kullanabilirsiniz.

    • Machine Learning Hizmetleri ve Dil Uzantıları

      Machine Learning Hizmetleri ve Dil Uzantıları'nı seçin. Özel R çalışma zamanını daha sonra yükleyeceği için R'yi seçmeyin.

      SQL Server 2019 Dil Uzantıları kurulumu.

  4. Yüklemeye Hazır sayfasında, bu seçimlerin dahil olduğunu doğrulayın ve Yükle'yi seçin.

    • Veritabanı Altyapısı Hizmetleri
    • Machine Learning Hizmetleri ve Dil Uzantıları
  5. Kurulum tamamlandıktan sonra, istenirse makineyi yeniden başlatın.

Önemli

Dil Uzantıları ile SQL Server 2019'un yeni bir örneğini yüklerseniz, sonraki adıma geçmeden önce Toplu Güncelleştirme (CU) 3 veya üzerini yükleyin.

R'yi yükleme

Özel çalışma zamanı olarak kullanacağınız R sürümünü indirin ve yükleyin. R sürüm 3.3 veya üzeri desteklenir.

  1. R sürüm 3.3 veya üzerini indirin.

  2. R kurulumunu çalıştırın.

  3. R'nin yüklü olduğu yolu not edin. Örneğin, bu makalede C:\Program Files\R\R-4.0.3 olarak belirtildiği gibi.

    R kurulumu

Sistem ortam değişkenlerini güncelleştirme

PATH sistemi ortam değişkenlerini değiştirmek için bu adımları izleyin.

  1. Windows arama kutusunda Sistem ortamı değişkenlerini düzenle'yi arayın ve açın.

  2. Gelişmiş altında Ortam Değişkenleri'ni seçin.

  3. PATH sistemi ortam değişkenini değiştirin.

    YOL>Düzenle'yi seçin.

    Yeni'yi seçin ve R yükleme yolunuzda klasörün yolunu \bin\x64 ekleyin. Örneğin, C:\Program Files\R\R-4.0.3\bin\x64.

Rcpp paketini yükleme

Rcpp paketini yüklemek için bu adımları izleyin.

  1. Yükseltilmiş bir komut istemi başlatın (Yönetici olarak çalıştırın).

  2. Komut isteminden R'yi başlatın. R yükleme yolunuzdaki klasörde komutunu çalıştırın \bin\R.exe . Örneğin, C:\Program Files\R\R-4.0.3\bin\R.exe.

    "C:\Program Files\R\R-4.0.3\bin\R.exe"
    
  3. R yükleme yolunuzdaki \library klasöre Rcpp paketini yüklemek için aşağıdaki betiği çalıştırın. Örneğin, C:\Program Files\R\R-4.0.3\library.

    install.packages("Rcpp", lib="C:\\Program Files\\R\\R-4.0.3\\library");
    

R klasörüne erişim izni verme

Uyarı

R'yi varsayılan konumuna C:\Program Files\R\R-version yüklediyseniz (örneğin, C:\Program Files\R\R-4.0.3) bu adımı atlayabilirsiniz.

SQL Server Launchpad Hizmeti kullanıcı adı ve SID S-1-15-2-1 (TÜM UYGULAMA PAKETLERİ) için READ & EXECUTE erişimi vermek için yeni bir yükseltilmiş komut isteminden aşağıdaki icacls komutlarını çalıştırın. Başlatma paneli hizmeti kullanıcı adı, NT Service\MSSQLLAUNCHPAD$INSTANCENAME biçimindedir ve burada INSTANCENAME SQL Server'ınızın örnek adıdır.

Komutlar, verilen dizin yolu altındaki tüm dosya ve klasörlere özyinelemeli olarak erişim verir.

  1. R yükleme yolunuz için SQL Server Launchpad Hizmeti kullanıcı adına izin verin. Örneğin, C:\Program Files\R\R-4.0.3.

    icacls "C:\Program Files\R\R-4.0.3" /grant "NT Service\MSSQLLAUNCHPAD":(OI)(CI)RX /T
    

    Adlandırılmış bir örnek için, icacls "C:\Program Files\R\R-4.0.3" /grant "NT Service\MSSQLLAUNCHPAD$SQL01":(OI)(CI)RX /T adlı bir örnek için komut olacaktır.

  2. R yükleme yolunuz için SID S-1-15-2-1'e izin verin. Örneğin, C:\Program Files\R\R-4.0.3.

    icacls "C:\Program Files\R\R-4.0.3" /grant *S-1-15-2-1:(OI)(CI)RX /T
    

    Yukarıdaki komut, Windows'un İngilizce sürümündeKI TÜM UYGULAMA PAKETLERİne eşdeğer olan SID S-1-15-2-1 bilgisayarına izin verir. Alternatif olarak, Windows'un İngilizce sürümünde kullanabilirsiniz icacls "C:\Program Files\R\R-4.0.3" /grant "ALL APPLICATION PACKAGES":(OI)(CI)RX /T .

SQL Server Launchpad'i yeniden başlatın

SQL Server Launchpad hizmetini yeniden başlatmak için bu adımları izleyin.

  1. SQL Server Yapılandırma Yöneticisi açın.

  2. SQL Server Hizmetleri'nin altında SQL Server Launchpad'e (MSSQLSERVER) sağ tıklayın ve Yeniden Başlat'ı seçin. Adlandırılmış bir örnek kullanırsanız örnek adı (MSSQLSERVER) yerine gösterilir.

Dil uzantısını kaydetme

R özel çalışma zamanı için kullanılan R dil uzantısını indirmek ve kaydetmek için bu adımları izleyin.

  1. SQL Server Dil Uzantıları GitHub deposundanR-lang-extension-windows-release.zip dosyasını indirin.

    Alternatif olarak, geliştirme veya test ortamında hata ayıklama sürümünü (R-lang-extension-windows-debug.zip) kullanabilirsiniz. Hata ayıklama sürümü, hataları incelemek için detaylı günlük kayıtları sağlar ve üretim ortamları için önerilmez.

  2. Visual Studio Code için MSSQL uzantısını kullanarak SQL Server örneğine bağlanın ve R dil uzantısını ile CREATE EXTERNAL LANGUAGEkaydetmek için aşağıdaki T-SQL komutunu çalıştırın.

    İndirilen dil uzantısı zip dosyasının konumunu (R-lang-extension-windows-release.zip) ve R yüklemenizin (C:\\Program Files\\R\\R-4.0.3) konumunu yansıtacak şekilde bu deyimdeki yolu değiştirin.

    CREATE EXTERNAL LANGUAGE [myR]
    FROM (CONTENT = N'C:\path\to\R-lang-extension-windows-release.zip', 
        FILE_NAME = 'libRExtension.dll',
        ENVIRONMENT_VARIABLES = N'{"R_HOME": "C:\\Program Files\\R\\R-4.0.3"}');
    GO
    

    Kullanmak istediğiniz her veritabanı için R dil uzantısını çalıştırmak üzere ifadesini yürütün.

    Uyarı

    R ayrılmış bir sözcükdür ve yeni bir dış dil adı olarak kullanılamaz. Bunun yerine farklı bir ad kullanın. Örneğin, yukarıdaki deyim myR kullanır.

Önkoşullar

Özel R çalışma zamanı yüklemeden önce aşağıdaki önkoşulları yükleyin:

Dil Uzantılarını Yükleme

Uyarı

SQL Server 2019'da Machine Learning Services yüklüyse, Dil Uzantıları için mssql-server-genişletilebilirlik paketi zaten yüklüdür ve bu adımı atlayabilirsiniz.

R özel çalışma zamanı için kullanılan Ubuntu Linux'a SQL Server Dil Uzantıları yüklemek için aşağıdaki komutları çalıştırın.

  1. Mümkünse, yüklemeden önce sistemdeki paketleri yenilemek için bu komutu çalıştırın.

    # Install as root or sudo
    sudo apt-get update
    
  2. Bu komutla mssql-server-genişletilebilirliğini yükleyin.

    # Install as root or sudo
    sudo apt-get install mssql-server-extensibility
    

R'yi yükleme

  1. Machine Learning Services yüklüyse, R zaten içinde /opt/microsoft/ropen/3.5.2/lib64/Ryüklüdür. Bu yolu R_HOME olarak kullanmaya devam etmek istiyorsanız, bu adımı atlayabilirsiniz.

    Farklı bir R çalışma zamanı kullanmak istiyorsanız, yeni bir sürüm yüklemeye devam etmeden önce kaldırmanız microsoft-r-open-mro gerekir.

    sudo apt remove microsoft-r-open-mro-3.5.2
    
  2. Ubuntu için R (3.3 veya üzeri) yükleyin. Varsayılan olarak, R /usr/lib/R içinde yüklenir. Bu yol sizin R_HOME. R'yi farklı bir konuma yüklerseniz bu yolu R_HOME olarak not edin.

    Aşağıda Ubuntu için örnek yönergeler verilmiştır. R sürümünüz için aşağıdaki depo URL'sini değiştirin.

    export DEBIAN_FRONTEND=noninteractive
    sudo apt-get update
    sudo apt-get --no-install-recommends -y install curl zip unzip apt-transport-https libstdc++6
    
    # Add R CRAN repository. This repository works for R 4.0.x.
    #
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
    sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu xenial-cran40/'
    sudo apt-get update
    
    # Install R runtime.
    #
    sudo apt-get -y install r-base-core
    

R'nin özel yüklemesi

Uyarı

Varsayılan /usr/lib/R konumuna R yüklediyseniz, bu bölümü atlayabilir ve Rcpp paketini yükleme bölümüne geçebilirsiniz.

Ortam değişkenlerini güncelleştirme

İlk olarak, dosyaya R_HOME ortam değişkenini eklemek için mssql-launchpadd hizmetini düzenleyin/etc/systemd/system/mssql-launchpadd.service.d/override.conf

  1. Dosyayı systemctl ile açma

    sudo systemctl edit mssql-launchpadd
    
  2. Açılan dosyaya /etc/systemd/system/mssql-launchpadd.service.d/override.conf aşağıdaki metni ekleyin. R_HOME değerini özel R yükleme yoluna ayarlayın.

    [Service]
    Environment="R_HOME=<path to R>"
    
  3. Kaydedin ve kapatın.

Ardından libR.so yükleyebildiğinizden emin olun.

  1. /etc/ld.so.conf.d içinde bir custom-r.conf dosyası oluşturun.

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. Açılan dosyada, özel R yüklemesinden libR.so yolunu ekleyin.

    <path to the R lib>
    
  3. Yeni dosyayı kaydedin ve düzenleyiciyi kapatın.

  4. Aşağıdaki komutu çalıştırıp tüm bağımlı kitaplıkların bulunup bulunmadığını denetleyerek ldconfig çalıştırıp yüklenebildiğini doğrulayın.

    sudo ldconfig
    ldd <path to the R lib>/libR.so
    

Özel R yükleme klasörüne erişim izni verme

datadirectories dosyasının genişletilebilirlik bölümünde bulunan /var/opt/mssql/mssql.conf seçeneğini özel R yükleme konumuna ayarlayın.

sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to R>

mssql-launchpadd hizmetini yeniden başlatın

mssql-launchpadd uygulamasını yeniden başlatmak için aşağıdaki komutu çalıştırın.

sudo systemctl restart mssql-launchpadd

Rcpp paketini yükleme

Rcpp paketini yüklemek için bu adımları izleyin.

  1. R'yi bir komut satırından başlatın.

    sudo ${R_HOME}/bin/R
    
  2. Rcpp paketini ${R_HOME}\library klasörüne yüklemek için aşağıdaki betiği çalıştırın.

install.packages("Rcpp", lib = "${R_HOME}/library");

Dil uzantısını kaydetme

R özel çalışma zamanı için kullanılan R dil uzantısını indirmek ve kaydetmek için bu adımları izleyin.

  1. SQL Server Dil Uzantıları GitHub deposundanR-lang-extension-linux-release.zip dosyasını indirin.

    Alternatif olarak, geliştirme veya test ortamında hata ayıklama sürümünü (R-lang-extension-linux-debug.zip) kullanabilirsiniz. Hata ayıklama sürümü, hataları incelemek için detaylı günlük kayıtları sağlar ve üretim ortamları için önerilmez.

  2. Visual Studio Code için MSSQL uzantısını kullanarak SQL Server örneğine bağlanın ve R dil uzantısını ile CREATE EXTERNAL LANGUAGEkaydetmek için aşağıdaki T-SQL komutunu çalıştırın.

    İndirilen dil uzantısı zip dosyasının konumunu (R-lang-extension-linux-release.zip) yansıtacak şekilde bu deyimdeki yolu değiştirin.

    CREATE EXTERNAL LANGUAGE [myR]
    FROM (CONTENT = N'/path/to/R-lang-extension-linux-release.zip', FILE_NAME = 'libRExtension.so.1.1');
    GO
    

    Kullanmak istediğiniz her veritabanı için R dil uzantısını çalıştırmak üzere ifadesini yürütün.

    Uyarı

    R ayrılmış bir sözcükdür ve yeni bir dış dil adı olarak kullanılamaz. Bunun yerine farklı bir ad kullanın. Örneğin, yukarıdaki deyim myR kullanır.

Önkoşullar

Özel R çalışma zamanı yüklemeden önce aşağıdaki önkoşulları yükleyin:

  • RExtension için GLIBCXX_3.4.20 gerekir. Red Hat Enterprise Linux (RHEL) yüklemenizdeki libstdc++.so.6 sürümünün bunu sağladığından emin olun.

Dil Uzantılarını Yükleme

Uyarı

SQL Server 2019'da Machine Learning Services yüklüyse, Dil Uzantıları için mssql-server-genişletilebilirlik paketi zaten yüklüdür ve bu adımı atlayabilirsiniz.

R özel çalışma zamanı için kullanılan Red Hat Enterprise Linux'a (RHEL) SQL Server Dil Uzantıları yüklemek için aşağıdaki komutu çalıştırın.

# Install as root or sudo
sudo yum install mssql-server-extensibility

R'yi yükleme

  1. Machine Learning Services yüklüyse, R zaten içinde /opt/microsoft/ropen/3.5.2/lib64/Ryüklüdür. Bu yolu R_HOME olarak kullanmaya devam etmek istiyorsanız, bu adımı atlayabilirsiniz.

    Farklı bir R çalışma zamanı kullanmak istiyorsanız, yeni bir sürüm yüklemeye devam etmeden önce kaldırmanız microsoft-r-open-mro gerekir.

    sudo yum erase microsoft-r-open-mro-3.5.2
    
  2. Red Hat Enterprise Linux (RHEL ) için R (3.3 veya üzeri) yükleyin. Varsayılan olarak, R /usr/lib64/R içinde yüklenir. Bu yol sizin R_HOME. R'yi farklı bir konuma yüklerseniz bu yolu R_HOME olarak not edin.

    sudo yum install -y R
    

R'nin özel yüklemesi

Uyarı

Varsayılan /usr/lib/R konumuna R yüklediyseniz, bu bölümü atlayabilir ve Rcpp paketini yükleme bölümüne geçebilirsiniz.

Ortam değişkenlerini güncelleştirme

İlk olarak, dosyaya R_HOME ortam değişkenini eklemek için mssql-launchpadd hizmetini düzenleyin/etc/systemd/system/mssql-launchpadd.service.d/override.conf

  1. Dosyayı systemctl ile açma

    sudo systemctl edit mssql-launchpadd
    
  2. Açılan dosyaya /etc/systemd/system/mssql-launchpadd.service.d/override.conf aşağıdaki metni ekleyin. R_HOME değerini özel R yükleme yoluna ayarlayın.

    [Service]
    Environment="R_HOME=<path to R>"
    
  3. Kaydedin ve kapatın.

Ardından libR.so yükleyebildiğinizden emin olun.

  1. /etc/ld.so.conf.d içinde bir custom-r.conf dosyası oluşturun.

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. Açılan dosyada, özel R yüklemesinden libR.so yolunu ekleyin.

    <path to the R lib>
    
  3. Yeni dosyayı kaydedin ve düzenleyiciyi kapatın.

  4. Aşağıdaki komutu çalıştırıp tüm bağımlı kitaplıkların bulunup bulunmadığını denetleyerek ldconfig çalıştırıp yüklenebildiğini doğrulayın.

    sudo ldconfig
    ldd <path to the R lib>/libR.so
    

Özel R yükleme klasörüne erişim izni verme

datadirectories dosyasının genişletilebilirlik bölümünde bulunan /var/opt/mssql/mssql.conf seçeneğini özel R yükleme konumuna ayarlayın.

sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to R>

mssql-launchpadd hizmetini yeniden başlatın

mssql-launchpadd uygulamasını yeniden başlatmak için aşağıdaki komutu çalıştırın.

sudo systemctl restart mssql-launchpadd

Rcpp paketini yükleme

Rcpp paketini yüklemek için bu adımları izleyin.

  1. R'yi bir komut satırından başlatın.

    sudo ${R_HOME}/bin/R
    
  2. Rcpp paketini ${R_HOME}\library klasörüne yüklemek için aşağıdaki betiği çalıştırın.

install.packages("Rcpp", lib = "${R_HOME}/library");

Dil uzantısını kaydetme

R özel çalışma zamanı için kullanılan R dil uzantısını indirmek ve kaydetmek için bu adımları izleyin.

  1. SQL Server Dil Uzantıları GitHub deposundanR-lang-extension-linux-release.zip dosyasını indirin.

    Alternatif olarak, geliştirme veya test ortamında hata ayıklama sürümünü (R-lang-extension-linux-debug.zip) kullanabilirsiniz. Hata ayıklama sürümü, hataları incelemek için detaylı günlük kayıtları sağlar ve üretim ortamları için önerilmez.

  2. Visual Studio Code için MSSQL uzantısını kullanarak SQL Server örneğine bağlanın ve R dil uzantısını ile CREATE EXTERNAL LANGUAGEkaydetmek için aşağıdaki T-SQL komutunu çalıştırın.

    İndirilen dil uzantısı zip dosyasının konumunu (R-lang-extension-linux-release.zip) yansıtacak şekilde bu deyimdeki yolu değiştirin.

    CREATE EXTERNAL LANGUAGE [myR]
    FROM (CONTENT = N'/path/to/R-lang-extension-linux-release.zip', FILE_NAME = 'libRExtension.so.1.1');
    GO
    

    Kullanmak istediğiniz her veritabanı için R dil uzantısını çalıştırmak üzere ifadesini yürütün.

    Uyarı

    R ayrılmış bir sözcükdür ve yeni bir dış dil adı olarak kullanılamaz. Bunun yerine farklı bir ad kullanın. Örneğin, yukarıdaki deyim myR kullanır.

Önkoşullar

Özel R çalışma zamanı yüklemeden önce aşağıdaki önkoşulları yükleyin:

Dil Uzantılarını Yükleme

Uyarı

SQL Server 2019'da Machine Learning Services yüklüyse, Dil Uzantıları için mssql-server-genişletilebilirlik paketi zaten yüklüdür ve bu adımı atlayabilirsiniz.

R özel çalışma zamanı için kullanılan SUSE Linux Enterprise Server'a (SLES) SQL Server Dil Uzantıları yüklemek için aşağıdaki komutu çalıştırın.

# Install as root or sudo
sudo zypper install mssql-server-extensibility

R'yi yükleme

  1. Machine Learning Services yüklüyse, R zaten içinde /opt/microsoft/ropen/3.5.2/lib64/Ryüklüdür. Bu yolu R_HOME olarak kullanmaya devam etmek istiyorsanız, bu adımı atlayabilirsiniz.

    Farklı bir R çalışma zamanı kullanmak istiyorsanız, yeni bir sürüm yüklemeye devam etmeden önce kaldırmanız microsoft-r-open-mro gerekir.

    sudo zypper remove microsoft-r-open-mro-3.4.4
    
  2. SUSE Linux Enterprise Server (SLES ) için R (3.3 veya üzeri) yükleyin. Varsayılan olarak, R /usr/lib64/R içinde yüklenir. Bu yol sizin R_HOME. R'yi farklı bir konuma yüklerseniz bu yolu R_HOME olarak not edin.

    R'yi yüklemek için şu adımları izleyin:

    sudo zypper ar -f http://download.opensuse.org/repositories/devel:/languages:/R:/patched/openSUSE_12.3/ R-patched
    sudo zypper --gpg-auto-import-keys ref
    sudo zypper install R-core-libs R-core R-core-doc R-patched
    

    Bu pakete ihtiyacınız olmadığı sürece R-tcltk-3.6.1 uyarılarını yoksayabilirsiniz.

gcc-c++ yükleme

SUSE Linux Enterprise Server'a (SLES) gcc-c++ yükleyin. Bu, daha sonra yüklenen Rcpp için kullanılır.

sudo zypper install gcc-c++

R'nin özel yüklemesi

Uyarı

Varsayılan /usr/lib/R konumuna R yüklediyseniz, bu bölümü atlayabilir ve Rcpp paketini yükleme bölümüne geçebilirsiniz.

Ortam değişkenlerini güncelleştirme

İlk olarak, dosyaya R_HOME ortam değişkenini eklemek için mssql-launchpadd hizmetini düzenleyin/etc/systemd/system/mssql-launchpadd.service.d/override.conf

  1. Dosyayı systemctl ile açma

    sudo systemctl edit mssql-launchpadd
    
  2. Açılan dosyaya /etc/systemd/system/mssql-launchpadd.service.d/override.conf aşağıdaki metni ekleyin. R_HOME değerini özel R yükleme yoluna ayarlayın.

    [Service]
    Environment="R_HOME=<path to R>"
    
  3. Kaydedin ve kapatın.

Ardından libR.so yükleyebildiğinizden emin olun.

  1. /etc/ld.so.conf.d içinde bir custom-r.conf dosyası oluşturun.

    sudo vi /etc/ld.so.conf.d/custom-r.conf
    
  2. Açılan dosyada, özel R yüklemesinden libR.so yolunu ekleyin.

    <path to the R lib>
    
  3. Yeni dosyayı kaydedin ve düzenleyiciyi kapatın.

  4. Aşağıdaki komutu çalıştırıp tüm bağımlı kitaplıkların bulunup bulunmadığını denetleyerek ldconfig çalıştırıp yüklenebildiğini doğrulayın.

    sudo ldconfig
    ldd <path to the R lib>/libR.so
    

Özel R yükleme klasörüne erişim izni verme

datadirectories dosyasının genişletilebilirlik bölümünde bulunan /var/opt/mssql/mssql.conf seçeneğini özel R yükleme konumuna ayarlayın.

sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to R>

mssql-launchpadd hizmetini yeniden başlatın

mssql-launchpadd uygulamasını yeniden başlatmak için aşağıdaki komutu çalıştırın.

sudo systemctl restart mssql-launchpadd

Rcpp paketini yükleme

Rcpp paketini yüklemek için bu adımları izleyin.

  1. R'yi bir komut satırından başlatın.

    sudo ${R_HOME}/bin/R
    
  2. Rcpp paketini ${R_HOME}\library klasörüne yüklemek için aşağıdaki betiği çalıştırın.

install.packages("Rcpp", lib = "${R_HOME}/library");

Dil uzantısını kaydetme

R özel çalışma zamanı için kullanılan R dil uzantısını indirmek ve kaydetmek için bu adımları izleyin.

  1. SQL Server Dil Uzantıları GitHub deposundanR-lang-extension-linux-release.zip dosyasını indirin.

    Alternatif olarak, geliştirme veya test ortamında hata ayıklama sürümünü (R-lang-extension-linux-debug.zip) kullanabilirsiniz. Hata ayıklama sürümü, hataları incelemek için detaylı günlük kayıtları sağlar ve üretim ortamları için önerilmez.

  2. Visual Studio Code için MSSQL uzantısını kullanarak SQL Server örneğine bağlanın ve R dil uzantısını ile CREATE EXTERNAL LANGUAGEkaydetmek için aşağıdaki T-SQL komutunu çalıştırın.

    İndirilen dil uzantısı zip dosyasının konumunu (R-lang-extension-linux-release.zip) yansıtacak şekilde bu deyimdeki yolu değiştirin.

    CREATE EXTERNAL LANGUAGE [myR]
    FROM (CONTENT = N'/path/to/R-lang-extension-linux-release.zip', FILE_NAME = 'libRExtension.so.1.1');
    GO
    

    Kullanmak istediğiniz her veritabanı için R dil uzantısını çalıştırmak üzere ifadesini yürütün.

    Uyarı

    R ayrılmış bir sözcükdür ve yeni bir dış dil adı olarak kullanılamaz. Bunun yerine farklı bir ad kullanın. Örneğin, yukarıdaki deyim myR kullanır.

Dış betiği etkinleştir

Saklı yordam sp_execute_external_script ile bir R dış betiği yürütebilirsiniz.

Dış betikleri etkinleştirmek için Visual Studio Code için MSSQL uzantısını kullanarak aşağıdaki deyimi yürütün.

sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;  

Yüklemeyi doğrulama

R özel çalışma zamanının yüklemesini ve işlevselliğini doğrulamak için aşağıdaki SQL betiğini kullanın. Özel bir çalışma zamanı için varsayılan dil adı sağlanamadığından, myR aşağıdaki örnek betikte dil adı R olarak kullanılır.

EXEC sp_execute_external_script
    @language =N'myR',
    @script=N'
print(R.home());
print(file.path(R.home("bin"), "R"));
print(R.version);
print("Hello RExtension!");'

Bilinen sorunlar

Eğer dil uzantısını kaydederken 'i R_HOME olarak ayarlayarak C:\Program Files\Microsoft SQL Server\MSSQL15.<INSTANCE_NAME>\R_SERVICES'in bir parçası olarak sağlanan R çalışma zamanını kullanıyorsanız, sp_execute_external script ile herhangi bir dış özel R betiğini yürütürken aşağıdaki hatayla karşılaşabilirsiniz.

Hata: Eksi bellek tükendi (sınıra ulaşıldı mı?)

Bu sorunu çözmek için:

  1. Sabit boyutlu nesnelerin (R_NSIZE) sayısını gösteren ortam değişkenini cons cells makul bir değere ayarlayın; örneğin, 200000.
  2. Launchpad hizmetini yeniden başlatın ve betiğin yürütülmesini yeniden deneyin.

Bilinen sorunlar

libstdc++.so.6 doğru sürüm değilse şu hatayı görürsünüz:

Exthost: Genişletme yükleme başarısız oldu /lib64/libstdc++.so.6: 'GLIBCXX_3.4.20' sürümü bulunamadı (/home/mssql_satellite/externallanguagessandboxpath/libRExtension.so.1.1)

Sonraki Adımlar