Bagikan melalui


Mengaktifkan mode DirectQuery di SSMS

Berlaku untuk: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Anda dapat mengubah properti akses data dari model tabular yang telah disebarkan, mengaktifkan mode DirectQuery, di mana kueri dijalankan terhadap sumber data relasional backend daripada data cache yang berada di memori.

Penting

Disarankan agar Anda menggunakan perancang model Tabular di Visual Studio alih-alih SQL Server Management Studio (SSMS) untuk beralih mode penyimpanan data. Saat menggunakan Visual Studio untuk mengubah mode model, lalu menindaklanjutinya dengan penyebaran ke server, model dan database tetap sinkron. Selain itu, mengubah mode penyimpanan dalam model memungkinkan Anda meninjau kesalahan validasi apa pun yang terjadi. Saat menggunakan SQL Server Management Directory seperti yang dijelaskan dalam artikel ini, kesalahan validasi tidak dilaporkan.

Persyaratan

Mengaktifkan penggunaan mode DirectQuery pada model tabular adalah proses multi-langkah:

  • Pastikan model tidak memiliki fitur yang dapat menyebabkan kesalahan validasi dalam mode DirectQuery, lalu ubah mode penyimpanan data pada model dari dalam memori ke DirectQuery.

    Daftar batasan fitur didokumentasikan dalam mode DirectQuery.

  • Tinjau string koneksi dan kredensial yang digunakan oleh database yang disebarkan untuk mengambil data dari database eksternal backend. Pastikan hanya ada satu koneksi, dan bahwa pengaturannya cocok untuk eksekusi kueri.

    Database tabular yang tidak dirancang khusus untuk DirectQuery dapat memiliki beberapa koneksi yang sekarang perlu dikurangi menjadi satu, sebagaimana diperlukan untuk mode DirectQuery.

    Kredensial yang awalnya digunakan untuk memproses data sekarang akan digunakan untuk mengkueri data. Sebagai bagian dari konfigurasi DirectQuery, tinjau dan mungkin ubah akun jika Anda menggunakan akun yang berbeda untuk operasi khusus.

    Mode DirectQuery adalah satu-satunya skenario di mana Analysis Services melakukan delegasi tepercaya. Jika solusi Anda meminta delegasi untuk mendapatkan hasil kueri khusus pengguna, akun yang digunakan untuk menyambungkan ke database backend harus diizinkan untuk mendelegasikan identitas pengguna yang membuat permintaan, dan identitas pengguna harus memiliki izin Baca pada database backend.

  • Sebagai langkah terakhir, konfirmasikan bahwa mode DirectQuery beroperasi melalui eksekusi kueri.

Beralih ke mode DirectQuery

  1. Di Object Explorer, klik kananMode DefaultModel>Properti> database>.

  2. Atur mode ke DirectQuery.

    Nilai yang valid Deskripsi
    DirectQuery Kueri dijalankan terhadap database relasional backend, menggunakan koneksi sumber data yang ditentukan untuk model.

    Kueri ke model dikonversi ke kueri database asli dan dialihkan ke sumber data.

    Saat Anda memproses model yang diatur ke mode DirectQuery, hanya metadata yang dikompilasi dan disebarkan. Data itu sendiri berada di luar model, berada di file database sumber data operasi.
    Impor Kueri dijalankan terhadap database tabular di MDX atau DAX.

    Saat Anda memproses model yang diatur ke mode Impor, data diambil dari sumber data backend dan disimpan di disk. Ketika database dimuat, data disalin sepenuhnya ke dalam memori untuk pemindaian dan kueri tabel yang sangat cepat.

    Ini adalah mode default untuk model tabular, dan ini adalah satu-satunya mode untuk sumber data tertentu (non-relasional).
    Ganda Memungkinkan Impor dan DirectQuery. Mode ini tidak didukung di Azure Analysis Services atau Power BI Premium.

Periksa properti koneksi

Bergantung pada bagaimana koneksi sumber data disiapkan, beralih ke DirectQuery dapat mengubah konteks keamanan koneksi. Saat mengubah mode akses data, tinjau peniruan identitas dan properti string koneksi untuk memverifikasi bahwa login valid untuk koneksi yang sedang berlangsung ke database backend.

Tinjau bagian Konfigurasi Analysis Services untuk delegasi tepercaya di Mengonfigurasi Analysis Services untuk delegasi yang dibatasi Kerberos untuk informasi latar belakang tentang delegasi identitas pengguna untuk skenario DirectQuery.

  1. Di Object Explorer, perluas Koneksi dan klik dua kali koneksi untuk melihat propertinya.

    Untuk model DirectQuery, seharusnya hanya ada satu koneksi yang ditentukan untuk database, dan sumber data harus relasional, dan dari jenis database yang didukung. Lihat Sumber Data yang Didukung.

  2. String koneksi harus menentukan server, nama database, dan metode autentikasi yang digunakan dalam operasi DirectQuery. Jika Anda menggunakan autentikasi SQL Server, Anda dapat menentukan login database di sini.

  3. Info Peniruan digunakan untuk autentikasi Windows. Opsi yang valid untuk model tabular dalam mode DirectQuery meliputi yang berikut ini:

    • Gunakan akun layanan. Anda dapat memilih opsi ini jika akun layanan Analysis Services memiliki izin baca pada database relasional.

    • Gunakan nama pengguna dan kata sandi tertentu. Tentukan akun pengguna Windows yang memiliki izin baca pada database relasional.

Perhatikan bahwa kredensial ini hanya digunakan untuk menjawab kueri terhadap penyimpanan data relasional; mereka tidak sama dengan kredensial yang digunakan untuk memproses cache model hibrid.

Peniruan tidak dapat digunakan ketika model hanya digunakan dalam memori. Pengaturan ImpersonateCurrentUser, tidak valid kecuali model menggunakan mode DirectQuery.

Memvalidasi akses DirectQuery

  1. Mulai pelacakan menggunakan SQL Server Profiler atau xEvents di Management Studio, yang tersambung ke database relasional di SQL Server.

    Jika Anda menggunakan Oracle atau Teradata, gunakan alat pelacakan untuk platform database tersebut.

  2. Di Management Studio, masukkan lalu jalankan kueri MDX sederhana, seperti select <some measure> on 0 from model..

  3. Dalam jejak, Anda akan melihat bukti eksekusi kueri pada database relasional.

Lihat juga

Tingkat kompatibilitas
Sumber data didukung
Kejadian yang diperluas