Meningkatkan runtime Python dan R dengan pengikatan di SQL Server Pembelajaran Mesin Services

Berlaku untuk: SQL Server 2016 (13.x) SQL Server 2017 (14.x)

Penting

Dukungan untuk Pembelajaran Mesin Server (sebelumnya dikenal sebagai R Server) berakhir pada 1 Juli 2022. Untuk informasi selengkapnya, lihat Apa yang terjadi pada server Pembelajaran Mesin?

Artikel ini menjelaskan cara menggunakan proses penginstalan am yang disebut pengikatan untuk meningkatkan runtime R atau Python di SQL Server 2016 R Services atau SQL Server 2017 Pembelajaran Mesin Services. Anda bisa mendapatkan versi Python dan R yang lebih baru dengan mengikat microsoft Pembelajaran Mesin Server.

Penting

Artikel ini menjelaskan metode lama untuk meningkatkan runtime R dan Python, yang disebut pengikatan. Jika Anda telah menginstal Pembaruan Kumulatif (CU) 14 atau yang lebih baru untuk Paket Layanan SQL Server 2016 (SP) 2 atau Pembaruan Kumulatif (CU) 22 atau yang lebih baru untuk SQL Server 2017, lihat cara mengubah runtime bahasa R atau Python default ke versi yang lebih baru sebagai gantinya.

Apa itu pengikatan?

Pengikatan adalah proses penginstalan yang menggantikan konten folder R_SERVICES dan PYTHON_SERVICES Anda dengan executable, pustaka, dan alat yang lebih baru dari Microsoft Pembelajaran Mesin Server.

Komponen yang diunggah yang disertakan dengan model layanan telah berubah. Pembaruan layanan cocok dengan Garis Waktu dukungan untuk Microsoft R Server &Pembelajaran Mesin Server pada Siklus Hidup Modern.

Kecuali untuk versi komponen dan pembaruan layanan, pengikatan tidak mengubah dasar-dasar penginstalan Anda:

  • Integrasi Python dan R masih merupakan bagian dari instans mesin database.
  • Lisensi tidak berubah (tidak ada biaya tambahan yang terkait dengan pengikatan).
  • Kebijakan dukungan SQL Server masih berlaku untuk mesin database.

Sisa artikel ini menjelaskan mekanisme pengikatan dan cara kerjanya untuk setiap versi SQL Server.

Catatan

Pengikatan hanya berlaku untuk instans dalam database yang terikat ke instans SQL Server. Dalam hal ini pengikatan tidak diperlukan untuk penginstalan Mandiri.

Pertimbangan pengikatan SQL Server 2016

Untuk pelanggan SQL Server 2016 R Services, pengikatan menyediakan:

  • Paket R yang diperbarui.
  • Paket baru bukan bagian dari penginstalan asli (MicrosoftML)
  • Model pembelajaran mesin yang telah dilatih sebelumnya untuk analisis sentimen dan deteksi gambar.

Semua pengikatan selanjutnya dapat disegarkan di setiap rilis utama dan minor baru Microsoft Pembelajaran Mesin Server.

Peta versi

Tabel berikut adalah peta versi. Setiap peta menunjukkan versi paket di seluruh rilis. Anda dapat meninjau jalur peningkatan saat mengikat Microsoft Pembelajaran Mesin Server (sebelumnya dikenal sebagai R Server, sebelum penambahan dukungan Python dimulai di Pembelajaran Mesin Server 9.2.1).

Pengikatan tidak menjamin versi terbaru R atau Anaconda. Saat Anda mengikat Microsoft Pembelajaran Mesin Server, Anda mendapatkan versi R atau Python yang diinstal melalui Penyetelan, yang mungkin bukan versi terbaru yang tersedia di web.

Layanan SQL Server 2016 R

Komponen Rilis Awal R Server 9.0.1 R Server 9.1 Pembelajaran Mesin Server 9.2.1 Pembelajaran Mesin Server 9.3 Pembelajaran Mesin Server 9.4.7
Microsoft R Open (MRO) melalui R R 3.2.2 R 3.3.2 R 3.3.3 R 3.4.1 R 3.4.3 R 3.5.2
RevoScaleR 8.0.3 9.0.1 9.1 9.2.1 9.3 9.4.7
MicrosoftML N.a. 9.0.1 9.1 9.2.1 9.3 9.4.7
model yang telah dilatih sebelumnya N.a. 9.0.1 9.1 9.2.1 9.3 9.4.7
sqlrutils N.a. 1.0 1.0 1.0 1.0 1.0
olapR N.a. 1.0 1.0 1.0 1.0 1.0

Layanan Pembelajaran Mesin SQL Server 2017

Komponen Rilis Awal Pembelajaran Mesin Server 9.3 Pembelajaran Mesin Server 9.4.7
Microsoft R Open (MRO) melalui R R 3.3.3 R 3.4.3 R 3.5.2
RevoScaleR 9.2 9.3 9.4.7
MicrosoftML 9.2 9.3 9.4.7
sqlrutils 1.0 1.0 1.0
olapR 1.0 1.0 1.0
Anaconda 4.2 melalui Python 3.5 4.2/3.5.2 4.2/3.5.2
revoscalepy 9.2 9.3 9.4.7
microsoftml 9.2 9.3 9.4.7
model yang telah dilatih sebelumnya 9.2 9.3 9.4.7

Cara kerja peningkatan komponen

File yang dapat dieksekusi, pustaka Python, dan R ditingkatkan saat Anda mengikat penginstalan Python dan R yang ada ke server Pembelajaran Mesin.

Pengikatan dijalankan oleh alat penginstal Microsoft Pembelajaran Mesin Server saat Anda menjalankan Penyiapan pada instans mesin database SQL Server yang ada yang memiliki integrasi Python atau R.

Penyetelan mendeteksi fitur yang ada dan meminta Anda untuk mengikat ulang ke server Pembelajaran Mesin.

Selama pengikatan, konten C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES dan \PYTHON_SERVICES ditimpa dengan file dan pustaka yang dapat dieksekusi yang lebih baru dari C:\Program Files\Microsoft\ML Server\R_SERVER dan \PYTHON_SERVER.

Pengikatan hanya berlaku untuk fitur Python dan R. Paket sumber terbuka untuk Python dan R terdiri dari:

  • Anaconda
  • Microsoft R Buka
  • Paket kepemilikan RevoScaleR
  • Pencabutan skala

Pengikatan tidak mengubah model dukungan untuk instans mesin database atau versi SQL Server.

Pengikatan dapat dibatalkan. Anda dapat kembali ke layanan SQL Server dengan membatalkan pengikatan instans dan membandingkan instans mesin database SQL Server Anda.

Ikat ke Server Pembelajaran Mesin menggunakan Penyetelan

Ikuti langkah-langkah untuk mengikat SQL Server ke Microsoft Pembelajaran Mesin Server menggunakan penyiapan.

  1. Di SQL Server Management Directory, jalankan SELECT @@version untuk memverifikasi bahwa server memenuhi persyaratan build minimum.

    Untuk Layanan SQL Server 2016 R, minimumnya adalah Paket Layanan 1 dan CU3.

  2. Periksa versi paket dasar R dan RevoScaleR untuk mengonfirmasi versi yang ada lebih rendah dari yang Anda rencanakan untuk menggantinya.

    EXECUTE sp_execute_external_script
    @language=N'R'
    ,@script = N'str(OutputDataSet);
    packagematrix <- installed.packages();
    Name <- packagematrix[,1];
    Version <- packagematrix[,3];
    OutputDataSet <- data.frame(Name, Version);'
    , @input_data_1 = N''
    WITH RESULT SETS ((PackageName nvarchar(250), PackageVersion nvarchar(max) ))
    
  3. Tutup SQL Server Management Studio dan alat lain yang memiliki koneksi terbuka ke SQL Server. Pengikatan menimpa file program. Jika SQL Server memiliki sesi terbuka, pengikatan akan gagal dengan kode kesalahan ikatan 6.

  4. Unduh Microsoft Pembelajaran Mesin Server ke komputer yang memiliki instans yang ingin Anda tingkatkan. Kami merekomendasikan versi terbaru.

  5. Buka zip folder dan mulai ServerSetup.exe, yang terletak di bawah MLSWIN93.

  6. Pada Konfigurasikan penginstalan, konfirmasikan komponen untuk ditingkatkan, dan tinjau daftar instans yang kompatibel.

  7. Pada halaman Perjanjian lisensi, pilih Saya menerima persyaratan ini untuk menerima persyaratan lisensi untuk server Pembelajaran Mesin.

  8. Pada halaman berturut-turut, berikan persetujuan untuk kondisi lisensi tambahan untuk komponen sumber terbuka yang Anda pilih, seperti Microsoft R Open atau distribusi Python Anaconda.

  9. Pada halaman Hampir di sana , catat folder penginstalan. Folder defaultnya adalah \Program Files\Microsoft\ML Server.

    Jika Anda ingin mengubah folder penginstalan, pilih Tingkat Lanjut untuk kembali ke halaman pertama wizard. Namun, Anda harus mengulangi semua pilihan sebelumnya.

Jika peningkatan gagal, periksa kode kesalahan SqlBindR untuk informasi selengkapnya.

Pengikatan offline (tidak ada akses internet)

Untuk sistem tanpa konektivitas internet, Anda dapat mengunduh penginstal dan file .cab ke komputer yang terhubung ke internet, lalu mentransfer file ke server yang terisolasi.

Penginstal (ServerSetup.exe) mencakup paket Microsoft (RevoScaleR, MicrosoftML, olapR, sqlRUtils). File .cab menyediakan komponen inti lainnya. Misalnya, kabin "SRO" menyediakan R Open, distribusi R sumber terbuka Microsoft.

Instruksi berikut menjelaskan cara menempatkan file untuk penginstalan offline.

  1. Unduh Alat Penginstal MLSWIN93. Ini diunduh sebagai satu file zip. Kami merekomendasikan versi terbaru, tetapi Anda juga dapat menginstal versi yang lebih lama.

  2. Unduh file .cab. Tautan berikut adalah untuk rilis 9.3. Jika Anda memerlukan versi sebelumnya, tautan tambahan dapat ditemukan di R Server 9.1. Ingat bahwa Python/Anaconda hanya dapat ditambahkan ke instans SQL Server Pembelajaran Mesin Services. Model yang telah dilatih sebelumnya ada untuk Python dan R; .cab menyediakan model dalam bahasa yang Anda gunakan.

    Fitur Mengunduh
    R SRO_3.4.3.0_1033.cab
    Python SPO_9.3.0.0_1033.cab
    Model yang sudah dilatih sebelumnya MLM_9.3.0.0_1033.cab
  3. Transfer file .zip dan .cab ke server target.

  4. Di server, ketik %temp% perintah Jalankan untuk mendapatkan lokasi fisik direktori sementara. Jalur fisik bervariasi menurut mesin, tetapi biasanya C:\Users\<your-user-name>\AppData\Local\Temp.

  5. Tempatkan file .cab di folder %temp%.

  6. Buka zip Alat Penginstal.

  7. Jalankan ServerSetup.exe dan ikuti perintah di layar untuk menyelesaikan penginstalan.

Operasi baris perintah

Tip

Tidak dapat menemukan SqlBindR? Anda mungkin belum menjalankan Penyetelan. SqlBindR hanya tersedia setelah menjalankan Penyetelan Server Pembelajaran Mesin.

  1. Buka prompt perintah sebagai administrator dan navigasikan ke folder yang berisi sqlbindr.exe. Lokasi defaultnya adalah C:\Program Files\Microsoft\MLServer\Setup

  2. Ketik perintah berikut untuk melihat daftar instans yang tersedia: SqlBindR.exe /list

    Catat nama instans lengkap seperti yang tercantum. Misalnya, nama instans mungkin MSSQL14. MSSQLSERVER untuk instans default, atau sesuatu seperti SERVERNAME. MYNAMEDINSTANCE.

  3. Jalankan perintah SqlBindR.exe dengan argumen /bind . Tentukan nama instans yang akan ditingkatkan, menggunakan nama instans yang dikembalikan pada langkah sebelumnya.

    Misalnya, untuk meningkatkan instans default, ketik: SqlBindR.exe /bind MSSQL14.MSSQLSERVER

  4. Setelah peningkatan selesai, mulai ulang layanan Launchpad yang terkait dengan instans apa pun yang telah dimodifikasi.

Mengembalikan atau membatalkan ikatan instans

Anda dapat memulihkan instans terikat ke penginstalan awal komponen Python dan R, yang dibuat oleh Penyiapan SQL Server. Ada tiga bagian untuk kembali ke layanan SQL Server.

Langkah 1: Batalkan ikatan

Anda memiliki dua opsi untuk menggulung balik pengikatan: menjalankan ulang penyiapan atau menggunakan utilitas baris perintah SqlBindR.

Batalkan ikatan menggunakan Penyetelan

  1. Temukan alat penginstal untuk server Pembelajaran Mesin. Jika Anda telah menghapus alat penginstal, Anda mungkin perlu mengunduhnya lagi, atau menyalinnya dari komputer lain.
  2. Pastikan untuk menjalankan alat penginstal di komputer yang memiliki instans yang ingin Anda batalkan ikatannya.
  3. Alat penginstal mengidentifikasi instans lokal yang merupakan kandidat untuk tidak mengikat.
  4. Batal pilih kotak centang di samping instans yang ingin Anda kembalikan ke konfigurasi asli.
  5. Terima semua perjanjian lisensi.
  6. Pilih Selesai. Prosesnya memakan waktu cukup lama.

Batalkan ikatan menggunakan baris perintah

  1. Buka prompt perintah dan navigasi ke folder yang berisi sqlbindr.exe, seperti yang dijelaskan di bagian sebelumnya.

  2. Jalankan perintah SqlBindR.exe dengan argumen /unbind , dan tentukan instans.

    Misalnya, perintah berikut mengembalikan instans default:

    SqlBindR.exe /unbind MSSQL14.MSSQLSERVER

Langkah 2: Perbaiki instans SQL Server

Jalankan Penyiapan SQL Server untuk memperbaiki instans mesin database yang memiliki fitur Python dan R. Pembaruan yang sudah ada sebelumnya dipertahankan. Langkah berikutnya berlaku jika pembaruan terlewatkan untuk pembaruan layanan untuk paket Python dan R.

Solusi alternatif: Hapus instalan dan instal ulang instans mesin database sepenuhnya, lalu terapkan semua pembaruan layanan.

Langkah 3: Tambahkan paket pihak ketiga apa pun

Anda mungkin telah menambahkan paket sumber terbuka atau pihak ketiga lainnya ke pustaka paket Anda. Karena mengembalikan pengikatan mengalihkan lokasi pustaka paket default, Anda harus menginstal ulang paket ke pustaka yang sekarang digunakan Python dan R. Untuk informasi selengkapnya, lihat Informasi dan penginstalan paket R, serta informasi dan penginstalan paket Python.

Sintaks perintah SqlBindR.exe

Penggunaan

sqlbindr [/list] [/bind <SQL_instance_ID>] [/unbind <SQL_instance_ID>]

Parameter

Nama Deskripsi
daftar Menampilkan daftar semua ID instans SQL Server pada komputer saat ini
Mengikat Meningkatkan instans SQL Server yang ditentukan ke versi terbaru R Server dan memastikan instans secara otomatis mendapatkan peningkatan R Server di masa mendatang
unbind Menghapus instalasi versi terbaru R Server dari instans SQL Server yang ditentukan dan mencegah peningkatan R Server di masa mendatang memengaruhi instans

Kesalahan pengikatan

Pembelajaran Mesin Penginstal Server dan SqlBindR mengembalikan kode kesalahan dan pesan berikut.

Kode kesalahan Pesan Detail
Kesalahan ikatan 0 Ok (berhasil) Pengikatan diteruskan tanpa kesalahan.
Kesalahan ikatan 1 Argumen tidak valid Kesalahan sintaks.
Kesalahan ikatan 2 Tindakan tidak valid Kesalahan sintaks.
Kesalahan ikatan 3 Instans tidak valid Instans ada, tetapi tidak valid untuk pengikatan.
Kesalahan ikatan 4 Tidak dapat diikat
Kesalahan ikatan 5 Sudah terikat Anda menjalankan perintah ikatan , tetapi instans yang ditentukan sudah terikat.
Kesalahan ikatan 6 Ikatan gagal Terjadi kesalahan saat membatalkan pengikatan instans. Kesalahan ini dapat terjadi jika Anda menjalankan alat penginstal server Pembelajaran Mesin tanpa memilih fitur apa pun. Pengikatan mengharuskan Anda memilih instans MSSQL dan Python dan R, dengan asumsi instansnya adalah SQL Server 2017. Kesalahan ini juga terjadi jika SqlBindR tidak dapat menulis ke folder File Program. Membuka sesi atau menangani ke SQL Server akan menyebabkan kesalahan ini terjadi. Jika Anda mendapatkan kesalahan ini, mulai ulang komputer dan ulangi langkah-langkah pengikatan sebelum memulai sesi baru.
Kesalahan ikatan 7 Tidak terikat Instans mesin database memiliki Layanan R atau Layanan Pembelajaran Mesin SQL Server. Instans tidak terikat ke Microsoft Pembelajaran Mesin Server.
Kesalahan ikatan 8 Gagal mengikat Terjadi kesalahan saat membatalkan pengikatan instans.
Kesalahan ikatan 9 Tidak ada instans yang ditemukan Tidak ada instans mesin database yang ditemukan di komputer ini.

Masalah yang diketahui

Bagian ini mencantumkan masalah yang diketahui khusus untuk penggunaan utilitas SqlBindR.exe, atau untuk meningkatkan Pembelajaran Mesin Server yang mungkin memengaruhi instans SQL Server.

Memulihkan paket yang sebelumnya diinstal

SqlBindR.exe gagal memulihkan paket asli atau komponen R dengan peningkatan ke Microsoft R Server 9.0.1. Gunakan perbaikan SQL Server pada instans dan terapkan semua rilis layanan. Mulai ulang instans.

Versi SqlBindR yang lebih baru secara otomatis memulihkan fitur R asli, menghilangkan kebutuhan untuk menginstal ulang komponen R atau mengirimkan ulang server. Namun, Anda harus menginstal pembaruan paket R apa pun yang mungkin telah ditambahkan setelah penginstalan awal.

Gunakan perintah R untuk menyinkronkan paket yang diinstal ke sistem file menggunakan rekaman dalam database. Untuk informasi selengkapnya, lihat Manajemen paket R untuk SQL Server.

Masalah dengan file sqlbinr.ini yang ditimpa di SQL Server

Skenario: Masalah ini terjadi saat mengikat Pembelajaran Mesin Server 9.4.7 ke SQL Server 2017. Ketika Python diperbarui dan terikat atau ketika Anda memperbarui ke CU baru, Python tidak terikat, dan menimpa file. Tidak ada masalah yang diketahui dengan R.

Sebagai solusinya, buat sqlbindr.ini file di direktori PYTHON_SERVICES yang tidak kosong. Konten tidak berdampak pada fungsi file.

Buat sqlbindr.ini file, yang berisi 9.4.7.82, simpan ke lokasi ini:

C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES

Masalah dengan beberapa peningkatan dari SQL Server

Skenario: Instans SQL Server 2016 R Services yang sebelumnya ditingkatkan ke 9.0.1. Menjalankan alat penginstal baru untuk Microsoft R Server 9.1.0. Alat penginstal menampilkan daftar semua instans yang valid. Secara default alat penginstal memilih instans yang terikat sebelumnya. Jika Anda melanjutkan, instans yang terikat sebelumnya tidak terikat. Hasilnya adalah penginstalan 9.0.1 sebelumnya dihapus dan paket terkait apa pun, tetapi versi baru Microsoft R Server (9.1.0) tidak diinstal.

Sebagai solusinya, Anda dapat memodifikasi penginstalan R Server yang ada sebagai berikut:

  1. Di Panel Kontrol, buka Tambahkan atau Hapus Program.
  2. Temukan Microsoft R Server, dan pilih Ubah/Ubah.
  3. Saat penginstal dimulai, pilih instans yang ingin Anda ikat ke 9.1.0.

Microsoft Pembelajaran Mesin Server 9.2.1 dan 9.3 tidak memiliki masalah ini.

Mengikat atau tidak mengikat meninggalkan beberapa folder sementara

Hapus folder sementara setelah penginstalan selesai.

Catatan

Pastikan untuk menunggu hingga penginstalan selesai. Diperlukan waktu lama untuk menghapus pustaka R yang terkait dengan satu versi lalu menambahkan pustaka R baru. Ketika operasi selesai, folder sementara akan dihapus.

Baca juga