Menginstal SQL Server Machine Learning Services (Python dan R) di Windows

Berlaku untuk: SQL Server 2016 (13.x), SQL Server 2017 (14.x), dan SQL Server 2019 (15.x)

Pelajari cara menginstal SQL Server Machine Learning Services di Windows. Anda dapat menggunakan Layanan Pembelajaran Mesin untuk menjalankan skrip Python dan R dalam database.

Penting

Instruksi ini berlaku untuk SQL Server 2016 (13.x), SQL Server 2017 (14.x), dan SQL Server 2019 (15.x). Untuk Pratinjau SQL Server 2022 (16.x), lihat Menginstal SQL Server 2022 Machine Learning Services di Windows.

Daftar periksa pra-instal

  • Instans mesin database diperlukan. Anda tidak dapat menginstal hanya fitur Python atau R, meskipun Anda dapat menambahkannya secara bertahap ke instans yang ada.

  • Untuk kelangsungan bisnis, Grup Ketersediaan AlwaysOn didukung untuk Layanan Pembelajaran Mesin. Instal Layanan Pembelajaran Mesin, dan konfigurasikan paket, pada setiap simpul.

  • Menginstal Layanan Pembelajaran Mesin tidak didukung pada Instans Kluster Failover AlwaysOn (FCI) pada SQL Server 2017. Ini didukung dengan SQL Server 2019 dan yang lebih baru.

  • Jangan instal Layanan Pembelajaran Mesin pada pengontrol domain. Bagian Layanan Pembelajaran Mesin dari penyiapan akan gagal.

  • Jangan instal Shared Features>Machine Learning Server (Standalone) pada komputer yang sama yang menjalankan instans database. Server yang berdiri sendiri akan bersaing untuk sumber daya yang sama, mengurangi performa kedua instalasi.

  • Penginstalan berdampingan dengan versi Python dan R lainnya didukung tetapi tidak disarankan. Ini didukung karena instans SQL Server menggunakan salinan sendiri dari distribusi R dan Anaconda sumber terbuka. Tidak disarankan karena menjalankan kode yang menggunakan Python dan R pada komputer SQL Server di luar SQL Server dapat menyebabkan berbagai masalah:

    • Menggunakan pustaka yang berbeda dan file yang dapat dieksekusi akan membuat hasil yang tidak konsisten, daripada yang Anda jalankan di SQL Server.
    • Skrip R dan Python yang berjalan di pustaka eksternal tidak dapat dikelola oleh SQL Server, yang mengarah ke ketidakcocokan sumber daya.

Catatan

Layanan Pembelajaran Mesin diinstal secara default pada SQL Server Kluster Big Data. Anda tidak perlu mengikuti langkah-langkah dalam artikel ini jika Anda menggunakan Kluster Big Data. Untuk informasi selengkapnya, lihat Menggunakan Layanan Pembelajaran Mesin (Python dan R) di Kluster Big Data.

Penting

Setelah penyiapan selesai, pastikan untuk menyelesaikan langkah-langkah pasca-konfigurasi yang dijelaskan dalam artikel ini. Langkah-langkah ini termasuk mengaktifkan SQL Server untuk menggunakan skrip eksternal dan menambahkan akun yang diperlukan agar SQL Server menjalankan pekerjaan R dan Python atas nama Anda. Perubahan konfigurasi umumnya memerlukan mulai ulang instans atau menghidupkan ulang layanan Launchpad.

Mendapatkan media penginstalan

Lokasi unduhan untuk SQL Server tergantung pada edisi:

  • SQL Server edisi Enterprise, Standard, dan Express dilisensikan untuk penggunaan produksi. Untuk edisi Enterprise dan Standard, hubungi vendor perangkat lunak Anda untuk media penginstalan. Anda dapat menemukan informasi pembelian dan direktori mitra Microsoft di situs web pembelian Microsoft.
  • Edisi gratis terbaru.

Untuk informasi selengkapnya tentang edisi SQL Server mana yang mendukung integrasi Python dan R dengan Layanan Pembelajaran Mesin, lihat Edisi dan fitur yang didukung SQL Server 2017.

Untuk informasi selengkapnya tentang edisi SQL Server mana yang mendukung integrasi Python dan R dengan Layanan Pembelajaran Mesin, lihat Edisi dan fitur yang didukung SQL Server 2019 (15.x).

Jalankan pengaturan

Untuk penginstalan lokal, Anda harus menjalankan penyiapan sebagai administrator. Jika Anda menginstal SQL Server dari berbagi jarak jauh, Anda harus menggunakan akun domain yang telah membaca dan menjalankan izin pada berbagi jarak jauh.

  1. Mulai wizard penyetelan untuk SQL Server.

  2. Pada tab Penginstalan, pilih Baru SQL Server penginstalan mandiri atau tambahkan fitur ke penginstalan yang sudah ada.

    Penginstalan mandiri SQL Server baru

    Penginstalan mandiri SQL Server baru

  3. Pada halaman Pilihan Fitur , pilih opsi ini:

    • Mengelola Database Engine Services

      Untuk menggunakan R dan Python dengan SQL Server, Anda harus menginstal instans mesin database. Anda dapat menggunakan instans default atau bernama.

    • Layanan Pembelajaran Mesin (Dalam Database)

      Opsi ini menginstal layanan database yang mendukung eksekusi skrip R dan Python.

    • Mengelola Database Engine Services

      Untuk menggunakan R atau Python dengan SQL Server, Anda harus menginstal instans mesin database. Anda dapat menggunakan instans default atau bernama.

    • Layanan Pembelajaran Mesin (Dalam Database)

      Opsi ini menginstal layanan database yang mendukung eksekusi skrip R dan Python.

    • R

      Centang opsi ini untuk menambahkan paket Microsoft R, interpreter, dan R sumber terbuka.

    • Python

      Centang opsi ini untuk menambahkan paket Microsoft Python, Python 3.5 yang dapat dieksekusi, dan pilih pustaka dari distribusi Anaconda.

    Untuk informasi tentang menginstal dan menggunakan Java, lihat Menginstal Ekstensi Bahasa SQL Server di Windows.

    R dan PythonOpsi fitur untuk opsi Penyiapan

    R dan PythonOpsi fitur untuk opsi Penyiapan

    Catatan

    Jangan pilih opsi untuk Server Pembelajaran Mesin (Mandiri). Opsi untuk menginstal Server Pembelajaran Mesin di bawah Fitur Bersama ditujukan untuk digunakan pada komputer terpisah.

  1. Pada halaman Persetujuan untuk Menginstal Microsoft R Open , pilih Terima lalu Berikutnya.

Perjanjian lisensi mencakup:

  • Microsoft R Buka
  • Paket dan alat dasar R sumber terbuka
  • Paket R dan penyedia konektivitas yang disempurnakan dari tim pengembangan Microsoft.
  1. Pada halaman Persetujuan untuk Menginstal Python , pilih Terima lalu Berikutnya. Perjanjian lisensi sumber terbuka Python juga mencakup Anaconda dan alat terkait, ditambah beberapa pustaka Python baru dari tim pengembangan Microsoft.

    Catatan

    Jika komputer yang Anda gunakan tidak memiliki akses internet, Anda dapat menjeda penyiapan pada saat ini untuk mengunduh alat penginstal secara terpisah. Untuk informasi selengkapnya, lihat Menginstal komponen pembelajaran mesin tanpa akses internet.

  2. Pada halaman Siap Diinstal , verifikasi bahwa pilihan ini disertakan, dan pilih Instal.

    • Mengelola Database Engine Services
    • Layanan Pembelajaran Mesin (Dalam Database)
    • R atau Python, atau keduanya

    Perhatikan lokasi folder di bawah jalur ..\Setup Bootstrap\Log tempat file konfigurasi disimpan. Setelah penyiapan selesai, Anda dapat meninjau komponen yang diinstal dalam file Ringkasan.

  3. Setelah penyetelan selesai, jika Anda diinstruksikan untuk memulai ulang komputer, lakukan sekarang. Penting untuk membaca pesan dari Wizard Penginstalan ketika Anda telah selesai dengan penyetelan. Untuk informasi selengkapnya, lihat Menampilkan dan Membaca File Log Penyetelan SQL Server.

  1. Pada halaman Persetujuan untuk Menginstal Microsoft R Open , pilih Terima lalu Berikutnya. Perjanjian lisensi ini mencakup Microsoft R Open, yang mencakup distribusi paket dan alat dasar R sumber terbuka, bersama dengan paket R dan penyedia konektivitas yang disempurnakan dari tim pengembangan Microsoft.

  2. Pada halaman Persetujuan untuk Menginstal Python , pilih Terima lalu Berikutnya. Perjanjian lisensi sumber terbuka Python juga mencakup Anaconda dan alat terkait, ditambah beberapa pustaka Python baru dari tim pengembangan Microsoft.

  3. Pada halaman Siap Diinstal , verifikasi bahwa pilihan ini disertakan, dan pilih Instal.

    • Mengelola Database Engine Services
    • Layanan Pembelajaran Mesin (Dalam Database)
    • R dan/atau Python

    Perhatikan lokasi folder di bawah jalur ..\Setup Bootstrap\Log tempat file konfigurasi disimpan. Setelah penyiapan selesai, Anda dapat meninjau komponen yang diinstal dalam file Ringkasan.

  4. Setelah penyiapan selesai, jika Anda diinstruksikan untuk menghidupkan ulang komputer, lakukan sekarang. Penting untuk membaca pesan dari Wizard Penginstalan setelah Anda selesai dengan penyiapan. Untuk informasi selengkapnya, lihat Menampilkan dan Membaca File Log Penyiapan SQL Server.

Atur variabel lingkungan

Hanya untuk integrasi fitur R, Anda harus mengatur variabel lingkungan MKL_CBWR untuk memastikan output yang konsisten dari penghitungan Intel Math Kernel Library (MKL).

  1. Di Panel Kontrol, pilihVariabel Lingkungan Pengaturan > Sistem danSistem > Keamanan >Tingkat Lanjut.

  2. Buat variabel Pengguna atau Sistem baru.

    • Atur nama variabel ke MKL_CBWR
    • Atur nilai variabel ke AUTO

Langkah ini memerlukan hidupkan ulang server. Jika Anda akan mengaktifkan eksekusi skrip, Anda dapat menunda mulai ulang hingga semua pekerjaan konfigurasi selesai.

Aktifkan eksekusi skrip

  1. Gunakan SQL Server Management Studio (SSMS) atau Azure Data Studio untuk menyambungkan ke instans tempat Anda menginstal SQL Server Machine Learning Services.

  2. Sambungkan ke instans tempat Anda menginstal Layanan Pembelajaran Mesin, pilih Kueri Baru untuk membuka jendela kueri, dan jalankan perintah berikut:

    EXEC sp_configure
    

    Nilai untuk properti , , external scripts enabledharus 0 pada saat ini. Fitur ini dinonaktifkan secara default. Fitur ini harus diaktifkan secara eksplisit oleh administrator sebelum Anda dapat menjalankan skrip R atau Python.

  3. Untuk mengaktifkan fitur pembuatan skrip eksternal, jalankan pernyataan berikut:

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

    Jika Anda telah mengaktifkan fitur untuk bahasa R, jangan jalankan konfigurasi ulang untuk kedua kalinya untuk Python. Platform ekstensibilitas yang mendasar mendukung kedua bahasa.

Mulai ulang layanan

Ketika penginstalan selesai, hidupkan ulang mesin database.

Memulai ulang layanan juga secara otomatis memulai ulang layanan launchpad SQL Server terkait.

Anda dapat memulai ulang layanan menggunakan perintah Hidupkan ulang klik kanan untuk instans di SSMS, atau dengan menggunakan panel Layanan di Panel Kontrol, atau dengan menggunakan Pengelola Konfigurasi SQL Server.

Verifikasi penginstalan

Gunakan langkah-langkah berikut untuk memverifikasi bahwa semua komponen yang digunakan untuk meluncurkan skrip eksternal sedang berjalan.

  1. Di SQL Server Management Studio, buka jendela kueri baru, dan jalankan perintah berikut:

    EXECUTE sp_configure  'external scripts enabled'
    

    run_value diatur ke 1.

  2. Buka panel Layanan atau Pengelola Konfigurasi SQL Server, dan verifikasi bahwa layanan Launchpad SQL Server sedang berjalan. Anda harus memiliki satu layanan untuk setiap instans mesin database yang telah menginstal R atau Python. Untuk informasi selengkapnya tentang layanan ini, lihat Kerangka kerja ekstensibilitas.

  3. Jika Launchpad berjalan, Anda dapat menjalankan skrip Python dan R sederhana untuk memverifikasi bahwa runtime pembuatan skrip eksternal dapat berkomunikasi dengan SQL Server.

    Buka jendela Kueri baru di SQL Server Management Studio, lalu jalankan skrip seperti:

    • Untuk R

      EXEC sp_execute_external_script  @language =N'R',
      @script=N'
      OutputDataSet <- InputDataSet;
      ',
      @input_data_1 =N'SELECT 1 AS hello'
      WITH RESULT SETS (([hello] int not null));
      GO
      
    • Untuk Python

      EXEC sp_execute_external_script  @language =N'Python',
      @script=N'
      OutputDataSet = InputDataSet;
      ',
      @input_data_1 =N'SELECT 1 AS hello'
      WITH RESULT SETS (([hello] int not null));
      GO
      

    Hasil

    Skrip dapat memakan waktu beberapa saat untuk dijalankan, pertama kali runtime skrip eksternal dimuat. Hasilnya harus seperti ini:

    halo
    1

Catatan

Kolom atau judul yang digunakan dalam skrip Python tidak dikembalikan secara otomatis. Untuk menambahkan nama kolom untuk output, Anda harus menentukan skema untuk himpunan data pengembalian. Lakukan ini dengan menggunakan parameter WITH RESULTS dari prosedur tersimpan, penamaan kolom, dan menentukan jenis data SQL.

Misalnya, Anda dapat menambahkan baris berikut untuk menghasilkan nama kolom arbitrer: WITH RESULT SETS ((Col1 AS int))

Menerapkan pembaruan

Penginstalan yang ada

Jika Anda telah menambahkan Layanan Pembelajaran Mesin ke instans SQL Server yang ada dan sebelumnya telah menerapkan Pembaruan Kumulatif (CU), versi mesin database Anda dan fitur Layanan Pembelajaran Mesin mungkin berbeda. Ini dapat mengakibatkan perilaku atau kesalahan yang tidak terduga.

Ikuti langkah-langkah ini untuk membawa Layanan Pembelajaran Mesin ke versi yang sama dengan mesin database Anda.

  1. Tentukan Pembaruan Kumulatif (CU) yang Anda miliki untuk mesin database. Jalankan pernyataan T-SQL ini:

    SELECT @@VERSION
    

    Berikut adalah contoh output dari SQL Server 2019 Cumulative Update (CU) 8:

    Microsoft SQL Server 2019 (RTM-CU8-GDR) (KB4583459) - 15.0.4083.2 (X64)   Nov  2 2020 18:35:09   Copyright (C) 2019 Microsoft Corporation  Developer Edition (64-bit) on Windows 10 Enterprise 10.0 (X64) (Build 19042: ) (Hypervisor)
    

    Untuk informasi selengkapnya, lihat Menentukan versi, edisi, dan tingkat pembaruan SQL Server dan komponennya.

  2. Unduh Pembaruan Kumulatif (CU) yang telah Anda instal untuk mesin database.

  3. Jalankan penginstalan Pembaruan Kumulatif (CU) dan ikuti instruksi untuk menginstal CU untuk Layanan Pembelajaran Mesin.

Instalasi baru

Jika Anda menginstal Layanan Pembelajaran Mesin dengan penginstalan baru mesin database SQL Server, kami sarankan Anda menerapkan pembaruan kumulatif terbaru ke mesin database dan komponen pembelajaran mesin.

Pada perangkat yang terhubung ke internet, pembaruan kumulatif biasanya diterapkan melalui Windows Update, tetapi Anda juga dapat menggunakan langkah-langkah di bawah ini untuk pembaruan terkontrol. Saat Anda menerapkan pembaruan untuk mesin database, penyiapan menarik pembaruan kumulatif untuk fitur Python atau R apa pun yang Anda instal pada instans yang sama.

Server yang terputus memerlukan langkah tambahan. Untuk informasi selengkapnya, lihat Menginstal di komputer tanpa akses > internet Terapkan pembaruan kumulatif.

  1. Mulailah dengan instans garis besar yang sudah diinstal: SQL Server rilis awal.

  2. Buka daftar pembaruan kumulatif: Pembaruan terbaru untuk Microsoft SQL Server.

  3. Pilih pembaruan kumulatif terbaru. Executable diunduh dan diekstrak secara otomatis.

  4. Jalankan Penyetelan. Terima ketentuan lisensi, dan pada halaman Pilihan fitur, tinjau fitur yang pembaruan kumulatifnya diterapkan. Anda akan melihat setiap fitur yang diinstal untuk instans saat ini, termasuk fitur pembelajaran mesin. Penyiapan mengunduh file CAB yang diperlukan untuk memperbarui semua fitur.

    Ringkasan fitur terinstal

  5. Lanjutkan melalui wizard, menerima persyaratan lisensi untuk distribusi R dan Python.

Konfigurasi tambahan

Jika langkah verifikasi skrip eksternal berhasil, Anda dapat menjalankan perintah R atau Python dari SQL Server Management Studio, Visual Studio Code, atau klien lain yang dapat mengirim pernyataan T-SQL ke server.

Jika Anda mendapatkan kesalahan saat menjalankan perintah, tinjau langkah-langkah konfigurasi tambahan di bagian ini. Anda mungkin perlu membuat konfigurasi tambahan yang sesuai untuk layanan atau database.

Pada tingkat instans, konfigurasi tambahan mungkin mencakup:

Pada SQL Server 2019 pada Windows, mekanisme isolasi telah berubah. Mekanisme ini memengaruhi SQLRUserGroup, aturan firewall, izin file, dan autentikasi tersirat. Untuk informasi selengkapnya, lihat Perubahan isolasi untuk Layanan Pembelajaran Mesin.

Pada database, Anda mungkin memerlukan pembaruan konfigurasi berikut:

Catatan

Apakah konfigurasi tambahan diperlukan tergantung pada skema keamanan Anda, tempat Anda menginstal SQL Server, dan bagaimana Anda mengharapkan pengguna tersambung ke database dan menjalankan skrip eksternal.

Pengoptimalan yang disarankan

Setelah semuanya berfungsi, Anda mungkin juga ingin mengoptimalkan server untuk mendukung pembelajaran mesin atau menginstal model pembelajaran mesin yang telah dilatih sebelumnya.

Menambahkan lebih banyak akun pekerja

Jika Anda mengharapkan banyak pengguna menjalankan skrip secara bersamaan, Anda dapat meningkatkan jumlah akun pekerja yang ditetapkan ke layanan Launchpad. Untuk informasi selengkapnya, lihat Menskalakan eksekusi skrip eksternal secara bersamaan di SQL Server Machine Learning Services.

Mengoptimalkan server untuk eksekusi skrip

Pengaturan default untuk penyiapan SQL Server dimaksudkan untuk mengoptimalkan keseimbangan server untuk berbagai layanan yang didukung oleh mesin database, yang mungkin mencakup proses ekstraksi, transformasi, dan pemuatan (ETL), pelaporan, audit, dan aplikasi yang menggunakan data SQL Server. Di bawah pengaturan default, sumber daya untuk pembelajaran mesin terkadang dibatasi atau dibatasi, terutama dalam operasi intensif memori.

Untuk memastikan bahwa pekerjaan pembelajaran mesin diprioritaskan dan dijadikan sumber daya dengan tepat, kami sarankan Anda menggunakan SQL Server Resource Governor untuk mengonfigurasi kumpulan sumber daya eksternal. Anda mungkin juga ingin mengubah jumlah memori yang dialokasikan ke mesin database SQL Server, atau menambah jumlah akun yang berjalan di bawah layanan SQL Server Launchpad.

Jika Anda menggunakan Edisi Standar dan tidak memiliki Resource Governor, Anda dapat menggunakan Tampilan Manajemen Dinamis (DMV) dan Acara yang Diperluas, serta pemantauan peristiwa Windows, untuk membantu mengelola sumber daya server.

Menginstal paket Python dan R tambahan

Solusi Python dan R yang Anda buat untuk SQL Server dapat memanggil fungsi dasar, fungsi dari paket kepemilikan yang diinstal dengan SQL Server, dan paket pihak ketiga yang kompatibel dengan versi Python dan R sumber terbuka yang diinstal oleh SQL Server.

Paket yang ingin Anda gunakan dari SQL Server harus diinstal di pustaka default yang digunakan oleh instans. Jika Anda memiliki penginstalan terpisah Python atau R di komputer, atau jika Anda menginstal paket ke pustaka pengguna, Anda tidak dapat menggunakan paket tersebut dari T-SQL.

Untuk menginstal dan mengelola paket tambahan, Anda dapat menyiapkan grup pengguna untuk berbagi paket pada tingkat per database, atau mengonfigurasi peran database untuk memungkinkan pengguna menginstal paket mereka sendiri. Untuk informasi selengkapnya, lihat Menginstal paket Python dan Menginstal paket R baru.

Langkah berikutnya

Pengembang Python dapat mempelajari cara menggunakan Python dengan SQL Server dengan mengikuti tutorial berikut:

Pengembang R dapat memulai dengan beberapa contoh sederhana, dan mempelajari dasar-dasar cara kerja R dengan SQL Server. Untuk langkah Anda berikutnya, lihat tautan berikut ini: