Bagikan melalui


Pustaka klien untuk Analysis Services

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

Pustaka klien diperlukan untuk aplikasi dan alat klien untuk terhubung ke Analysis Services. Aplikasi klien Microsoft seperti Power BI Desktop, Excel, SQL Server Management Studio (SSMS), dan ekstensi proyek Analysis Services untuk Visual Studio menginstal ketiga pustaka klien dan memperbaruinya bersama dengan pembaruan aplikasi reguler. Aplikasi klien kustom untuk Analysis Services mungkin juga memerlukan satu atau beberapa pustaka klien ini untuk diinstal. Versi baru pustaka klien diperbarui sekitar sekali dalam sebulan.

Penting: Sebelum mendapatkan versi terbaru, pastikan untuk melihat Pertimbangan dan batasan .

Unduh yang terbaru

Pemasang Windows

Mengunduh Versi
MSOLAP (amd64) 17.0.56.15
MSOLAP (x86) 17.0.56.15
AMO 19.84.1.0
ADOMD 19.84.1.0

Catatan: Unduhan Penginstal Windows untuk Analysis Services Management Objects (AMO/TOM) dan ADOMD tidak lagi diperbarui dan tidak akan tersedia setelah 31 Desember 2024. Aplikasi yang mengandalkan unduhan Penginstal Windows ini harus dimigrasikan ke paket NuGet.

Paket NuGet

Pustaka klien Analysis Services Management Objects (AMO/TOM) dan ADOMD tersedia sebagai paket yang dapat diinstal dari NuGet.org. Sangat disarankan agar Anda bermigrasi ke referensi NuGet alih-alih menggunakan Penginstal Windows.

Rakitan paket NuGet dengan AssemblyVersion mengikuti penomoran versi semantik: MAJOR.MINOR.PATCH. Referensi NuGet memuat versi yang diharapkan, bahkan jika ada versi yang berbeda di GAC (akibat dari pemasangan MSI). PATCH dinaikkan untuk setiap rilis. Versi AMO dan ADOMD tetap sinkron.

Mulai Juli 2024, paket AMO dan ADOMD berisi rilis multi-runtime untuk semua runtime target yang didukung, baik .NET FX maupun .NET Core; rilis sebelumnya dari paket yang hanya menargetkan satu runtime, baik .NET FX atau .NET Core, tersedia untuk kompatibilitas mundur, tetapi tidak lagi diperbarui.

Mulai September 2022, AMO (AMO/TOM) dan ADOMD .Net Core (versi 19.48.0.0), komunikasi berbasis HTTP dengan layanan cloud seperti Power BI dan Azure Analysis Services ditingkatkan secara signifikan. Disarankan agar Anda memperbarui ke versi terbaru untuk memanfaatkan peningkatan performa.

Mulai Feb. 2021, dukungan runtime .NET Core tersedia untuk paket klien AMO dan ADOMD. Namun, ada beberapa skenario yang tidak didukung oleh versi .NET Core. Untuk mempelajari selengkapnya, lihat pertimbangan dan batasan nanti di artikel ini.

AMO dan ADOMD

Paket Versi
AMO 19.108.5.0
ADOMD 19.108.5.0

Nota:

Paket multi-runtime baru tidak lagi memiliki akhiran ".retail.amd64" dalam identitas paket dan sekarang hanya disebut Microsoft.AnalysisServices dan Microsoft.AnalysisServices.AdomdClient.

Paket .NET Framework dan .NET Core yang lebih lama masih tersedia di nuget.org untuk kompatibilitas mundur di bawah identitas lama dengan akhiran ".retail.amd64" untuk .NET Framework, dan akhiran ".NetCore.retail.amd64" untuk .NET Core.

Versi minimum yang diperlukan

Protokol Keamanan Lapisan Transportasi (TLS) versi 1.0/1.1 tidak digunakan lagi di ID Microsoft Entra pada 30 Juni 2021. TLS 1.2 atau yang lebih tinggi sekarang diperlukan. TLS 1.2 tidak didukung di versi pustaka klien Analysis Services sebelumnya. Versi pustaka klien yang lebih baru mencakup dukungan untuk TLS 1.2 dan yang lebih tinggi selain peningkatan keamanan penting lainnya.

Untuk meminimalkan risiko dan potensi kerentanan keamanan, mulai 30 Juni 2021, keamanan yang ditingkatkan di Azure Analysis Services dan Power BI memerlukan versi berikut atau lebih tinggi:

Lib klien Versi berkas Versi
MSOLAP 2018.151.61.21 15.1.61.21
AMO 15.1.61.21 19.12.3.0
ADOMD 15.1.61.21 19.12.3.0

Pertimbangan dan batasan

AMO dan ADOMD

Dimulai dengan versi 19.98.0.3:

  • Sekumpulan properti string koneksi tambahan dapat digunakan untuk mengontrol pengalaman autentikasi berbasis Entra-Id melalui koneksi HTTP. Untuk informasi selengkapnya, lihat artikel properti string koneksiAnalysis-Services dalam dokumentasi produk.
  • Komunikasi berbasis HTTP ditingkatkan melalui manajemen saluran HTTP terbuka yang lebih baik di lapisan transportasi, terutama saat menggunakan pustaka .NET Core.

Paket AdomdClient dan AMO versi 19.94.1.1 menggantikan versi 19.94.0.0. Silakan tingkatkan ke versi terbaru.

Dengan versi 19.94.1.1:

  • Kelas opsi serialisasi TMDL dalam paket AMO menyertakan serangkaian metode ekstensi untuk menyederhanakan penggunaannya. Untuk detail selengkapnya, lihat dokumentasi referensi API.
  • Informasi kesalahan dalam skenario penulisan model semantik tertentu mencakup detail tambahan untuk pelanggaran kompatibilitas dan masalah referensi silang:
    • Pelanggaran kompatibilitas: Kelas CompatibilityViolationException menawarkan informasi terperinci dalam teks pesan untuk membantu pemecahan masalah. Properti tambahan, seperti SupportedCompatibilityLevel dan CompatibilityLevelRequest juga mengekspos informasi yang lebih rinci.
    • Kesalahan referensi silang: Kelas TmdlDeserializationWithReferenceErrorsException dan JsonDeserializationWithReferenceErrorsException menyediakan pesan kesalahan terperinci yang mencantumkan properti yang tidak terselesaikan dan menawarkan detail tambahan tentang kesalahan referensi silang. Kelas pengecualian baru ini dapat membantu menangani masalah deserialisasi TMDL dan TMSL.

Dimulai dengan versi 19.84.6, dukungan untuk .NET FX 4.5 dan .NET Core 3.0 di rakitan terkelola tidak lagi tersedia. Rakitan sisi klien AS sekarang dirilis dengan dukungan untuk .NET FX 4.7.2, serta .NET 6.0 dan .NET 8.0 saja.

Dimulai dengan versi 19.82.0.0, AMO dan ADOMD mendukung Profil Perwakilan Layanan untuk autentikasi, seperti dalam contoh string koneksi berikut. Untuk mempelajari selengkapnya, lihat Menggunakan profil perwakilan layanan untuk mengelola data pelanggan di aplikasi multipenyewa. Pengguna tidak dapat terhubung ke ruang kerja yang terkait dengan lisensi Per Pengguna Premium menggunakan Profil Prinsipal Layanan melalui titik akhir XMLA.

Data Source=powerbi://api.powerbi.com/v1.0/myorg/<WorkspaceName>;User ID=app:<service principal id>@<tenant id>;SPN Profile=<service-principal profile id>;Password=<service-principal's secret>

Dimulai dengan versi 19.67.0, objek konektivitas seperti Microsoft.AnalysisServices.AdomdClient.AdomdConnection dan Microsoft.AnalysisServices.Server, mendukung properti AccessToken baru yang memungkinkan cara yang ditingkatkan untuk melewati token OAuth eksternal yang akan digunakan oleh lapisan konektivitas XMLA. Untuk mempelajari selengkapnya, lihat properti string Koneksi - ID Pengguna=...; Kata sandi=.

Dimulai dengan versi 19.42.0.4, ADOMD.NET dan AMO/TOM menggunakan MSAL (Microsoft.Identity.Client) versi 4.43.0 atau yang lebih tinggi alih-alih ADAL untuk mengautentikasi pengguna dengan ID Microsoft Entra saat membuat koneksi ke layanan berbasis cloud seperti Power-BI dan Azure Analysis Services. Jika aplikasi Anda atau komponen lain yang bergantung pada aplikasi Anda menggunakan MSAL, mungkin perlu memperbarui pengaturan redirect binding aplikasi jika ada konflik antara versi MSAL yang dimuat oleh komponen.

AMO dan ADOMD .Net Core

Skenario yang didukung termasuk koneksi ke Azure Analysis Services, Power BI Premium, dan SQL Server Analysis Services. Konektivitas berbasis TCP hanya didukung untuk komputer Windows.

Login interaktif dengan ID Microsoft Entra hanya didukung untuk komputer Windows. Runtime Desktop .NET Core diperlukan.

Ketergantungan dalam MSAL memerlukan versi 4.43.0 atau yang lebih tinggi.

Pustaka klien .Net Core versi 19.14.0 memperkenalkan dukungan pratinjau untuk penerbitan "Self-Contained" (baik dalam direktori yang diterbitkan maupun dalam mode satu file), selain dukungan untuk digunakan oleh proyek .NET 5.0. Beberapa masalah yang terkait dengan konektivitas ke SQL Server Analysis Services yang diidentifikasi dalam rilis sebelumnya telah diperbaiki.

Versi 19.12.7.2 dari pustaka klien .Net Core memperkenalkan dukungan untuk SQL Server Analysis Services. Versi pratinjau yang lebih rendah hanya mendukung model semantik Azure Analysis Services dan Power BI.

AMO

Dimulai dengan versi 19.98.0.3, tingkat kompatibilitas default untuk database model tabular adalah 1700. Database yang dibuat tanpa secara eksplisit menentukan tingkat kompatibilitas menggunakan tingkat 1700, secara default.

Dimulai dengan versi 19.84.6, dukungan untuk TMDL di AMO\TOM dianggap dalam status ketersediaan umum, dan tidak akan ada perubahan signifikan di antarmuka API.

Pustaka klien AMO versi 19.12.3.0 memperkenalkan enumerasi baru, Microsoft.AnalysisServices.DataType. Namun, enumerasi sebelumnya, Microsoft.AnalysisServices.Tabular.DataType masih ada. Jika kode Anda mereferensikan enumerasi sebelumnya sebagai DataType dalam file kode dengan pernyataan ke kedua namespace layanan (Microsoft.AnalysisServices, Microsoft.AnalysisServices.Tabular), karena ambiguitas, Anda bisa mendapatkan kesalahan saat mengkompilasi. Untuk mengatasi kesalahan tersebut, tentukan referensi ke enumerasi secara lengkap.

Pustaka klien AMO versi 19.61.1.4 memperkenalkan perubahan perilaku pembatalan transaksi Microsoft.AnalysisServices.Server. Dalam versi sebelumnya, panggilan ke Server.RollbackTransaction() mengirim permintaan ke mesin untuk mengembalikan transaksi dan kemudian mencoba mengembalikan perubahan lokal. Tidak seperti versi sebelumnya, pada 19.61.1.4 dan yang lebih baru, jika perubahan lokal tidak dapat dibatalkan dengan aman, database tabular yang termasuk dalam transaksi akan memblokir perubahan tambahan apa pun sampai dapat sepenuhnya disinkronkan dan perubahan usang dari transaksi yang telah dibalik tersebut dihapus. InvalidOperationException dimunculkan saat perubahan dilakukan pada database tabular yang relevan. Jika kode Anda memanggil Server.RollbackTransaction(), disarankan untuk mengikuti panggilan tersebut dengan sinkronisasi penuh [Database.Refresh(true)] untuk database tabular apa pun yang dimodifikasi sebagai bagian dari transaksi.

Dimulai dengan versi 19.77.0, saat mengkloning atau menyalin MetadataObject ke instance lain dari MetadataObject dengan menggunakan Model Objek Tabular (TOM), TOM mengembalikan null untuk properti yang merujuk objek di luar struktur hierarki langsung dari objek-objek anak MetadataObject. Anda harus menambahkan instans MetadataObject kloning ke model semantik sehingga referensi silang ke objek di luar pohon MetadataObject dapat diselesaikan.

Misalnya, saat mengkloning tabel dengan partisi yang mereferensikan ekspresi bernama dalam EntityPartitionSource, properti ExpressionSource dari EntityPartitionSource mengembalikan null hingga tabel kloning ditambahkan ke model semantik seperti dalam cuplikan kode di bawah ini sehingga referensi ExpressionSource kloning dapat diselesaikan. Klon harus ditambahkan ke model karena ekspresi bernama yang memiliki referensi silang adalah anggota dari koleksi Ekspresi model dan bukan bagian dari struktur hierarki objek-objek anak dari tabel.

Table tableClone = model.Tables[0].Clone();
anotherModel.Tables.Add(tableClone);

ADOMD

Dimulai dengan ADOMD (baik .NET Framework, dan .NET Core) versi 19.61.1.4, kompresi sepenuhnya tersedia di lapisan transportasi XMLA. Rilis sebelumnya setelah versi 19.55.3.1 menerapkan beberapa dukungan parsial untuk kompresi. Laporan tentang masalah dengan rilis tersebut diterima. Masalah tersebut diperbaiki sebagai bagian dari rilis 16.61.1.4. Pastikan untuk meningkatkan ke 19.61.1.4 atau yang lebih baru jika Anda mengalami masalah yang terkait dengan pemadatan.

MSOLAP

Dimulai dengan versi 17.0.25.23, serangkaian properti string koneksi tambahan dapat digunakan untuk mengontrol pengalaman autentikasi berbasis Entra-Id melalui koneksi HTTP. Untuk informasi selengkapnya, lihat artikel properti string koneksiAnalysis-Services dalam dokumentasi produk.

Dimulai dengan versi 16.0.139.27, MSOLAP mendukung Profil Perwakilan Layanan untuk autentikasi, seperti dalam contoh string koneksi berikut. Untuk mempelajari selengkapnya, lihat Menggunakan profil perwakilan layanan untuk mengelola data pelanggan di aplikasi multipenyewa.

Data Source=powerbi://api.powerbi.com/v1.0/myorg/<WorkspaceName>;User ID=app:<service principal id>@<tenant id>;SPN Profile=<service-principal profile id>;Password=<service-principal's secret>

Dimulai dengan versi 16.0.134.22, MSOLAP mendukung single Sign-On senyap (SSO) menggunakan Web Account Manager (WAM), tersedia pada Windows 10 dan yang lebih tinggi serta Window Server 2019 dan yang lebih tinggi. Ketika koneksi HTTP baru dibuka, MSOLAP mendapatkan token akses sebagai berikut:

  1. Jika penyimpanan token diaktifkan dan token yang sesuai tersedia dalam cache, MSOLAP menggunakan token yang telah disimpan dalam cache.
  2. Jika token cache yang sesuai tidak tersedia, MSOLAP mencoba mendapatkan token akses secara diam-diam melalui WAM.
  3. Jika SSO menggunakan WAM gagal, MSOLAP akan beralih ke autentikasi interaktif dan menampilkan jendela masuk secara pop-up.

Pengguna dapat melewati alur SSO senyap dan segera meluncurkan pengalaman autentikasi interaktif dengan memberikan id pengguna 'kosong' dalam string koneksi (ID Pengguna='').

Dimulai dengan versi 16.0.43.20, MSOLAP menggunakan MSAL (Microsoft.Identity.Client) versi 4.43.0 atau yang lebih tinggi alih-alih ADAL untuk mengautentikasi pengguna dengan ID Microsoft Entra saat membuat koneksi ke layanan berbasis cloud seperti Power-BI dan Azure Analysis Services. Jika aplikasi Anda atau komponen lain yang bergantung pada aplikasi tersebut menggunakan MSAL, mungkin perlu untuk memperbarui pengaturan pengalihan pengikatan ulang aplikasi jika terdapat konflik antara versi MSAL yang dimuat oleh komponen-komponen tersebut.

Regresi yang terkait dengan koneksi ke sistem berbasis cloud menggunakan ID Microsoft Entra ditemukan dalam OLEDB (MSOLAP) versi 16.0.4.17. Ini diperbaiki dalam versi 16.0.20.201. Karena sifat masalah, versi 16.0.4.17 yang diinstal, serta versi lain sebelum 16.0.20.201, tidak dapat diperbaiki dengan menurunkan penyedia, bahkan jika pengaturan dijalankan dalam mode perbaikan. Disarankan untuk menghapus instalasi 16.0.4.17 [atau versi bermasalah lainnya] dan kemudian menginstal versi 16.0.20.201 atau yang lebih baru.

Dalam rilis sebelumnya, MSOLAP diperbarui untuk terhubung ke Analysis Services berbasis cloud menggunakan Microsoft Authentication Library (MSAL) terkelola. Dimulai dengan versi 16.0.87.16, pengaturan MSOLAP tidak lagi menginstal komponen asli Azure Active Directory Authentication Library (ADAL).

Memahami pustaka klien

Analysis Services menggunakan tiga pustaka klien. ADOMD.NET dan Analysis Services Management Objects (AMO) adalah pustaka klien terkelola. Dan Analisis Services OLE DB Provider (MSOLAP DLL) adalah pustaka klien asli. Biasanya, ketiganya diinstal secara bersamaan.

Aplikasi klien Microsoft seperti Power BI Desktop dan Excel menginstal ketiga pustaka klien dan memperbaruinya saat versi baru tersedia. Bergantung pada versi atau frekuensi pembaruan, beberapa pustaka klien mungkin bukan versi terbaru yang diperlukan oleh Azure Analysis Services dan Power BI. Hal yang sama berlaku untuk aplikasi kustom atau antarmuka lain seperti AsCmd, TOM, ADOMD.NET. Aplikasi ini memerlukan penginstalan pustaka secara manual atau terprogram. Pustaka klien untuk penginstalan manual disertakan dalam paket fitur SQL Server sebagai paket yang dapat didistribusikan. Namun, pustaka klien ini terkait dengan versi SQL Server dan mungkin bukan yang terbaru. Pastikan Anda selalu menginstal yang terbaru, dapat diunduh dari artikel ini.

Jenis pustaka klien

Penyedia OLE DB Analysis Services (MSOLAP)

Penyedia OLE DB Analysis Services (MSOLAP) adalah pustaka klien bawaan untuk koneksi database Analysis Services. Ini digunakan secara tidak langsung oleh ADOMD.NET dan AMO, mendelegasikan permintaan koneksi ke penyedia data. Anda juga dapat memanggil Penyedia OLE DB langsung dari kode aplikasi.

Penyedia Analysis Services OLE DB diinstal secara otomatis oleh sebagian besar alat dan aplikasi klien yang digunakan untuk mengakses database Analysis Services. Ini harus diinstal pada komputer yang digunakan untuk mengakses data Analysis Services.

Penyedia OLE DB sering ditentukan dalam string koneksi. String koneksi Analysis Services menggunakan nomenklatur yang berbeda untuk merujuk ke Penyedia OLE DB: MSOLAP.<version>.dll.

AMO

AMO adalah pustaka klien terkelola yang digunakan untuk administrasi server dan definisi data. Perangkat ini diinstal dan digunakan oleh alat dan aplikasi klien. Misalnya, SQL Server Management Studio (SSMS) menggunakan AMO untuk menyambungkan ke Analysis Services. Koneksi menggunakan AMO biasanya minimal, terdiri dari "data source=\<servername>". Setelah koneksi dibuat, Anda menggunakan API untuk bekerja dengan koleksi database dan objek utama. Visual Studio dan SSMS menggunakan AMO untuk menyambungkan ke instans Analysis Services.

ADOMD

ADOMD.NET adalah pustaka klien data terkelola yang digunakan untuk melakukan kueri data Analysis Services. Perangkat ini diinstal dan digunakan oleh alat dan aplikasi klien.

Ketika menghubungkan ke database, properti dari string koneksi untuk ketiga pustaka tersebut serupa. Hampir semua string koneksi yang Anda tentukan untuk ADOMD.NET dengan menggunakan Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectionString juga berfungsi untuk AMO dan Penyedia OLE DB Analysis Services (MSOLAP). Untuk mempelajari selengkapnya, lihat properti string Koneksi .

Periksa versi yang terinstal

OLEDDB (MSOLAP)

  1. Pergi ke C:\Program Files\Microsoft Analysis Services\AS OLEDB\. Jika Anda memiliki lebih dari satu folder, pilih angka yang lebih tinggi.

  2. Klik kanan msolap.dll>Properti>Detail. Periksa properti Versi produk. Catatan: Jika nama file-nya msolap140.dll, itu lebih lama dari versi terbaru dan harus diperbarui.

    dialogu rincian pustaka Klien MSOLAP

AMO

  1. Pergi ke C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices\. Jika Anda memiliki lebih dari satu folder, pilih angka yang lebih tinggi.

  2. Klik kanan Microsoft.AnalysisServices>Properti>Rincian.

    dialog rincian pustaka klien AMO

ADOMD

  1. Pergi ke C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices.AdomdClient\. Jika Anda memiliki lebih dari satu folder, pilih angka yang lebih tinggi.

  2. Klik kanan Microsoft.AnalysisServices.AdomdClient>Properti>Detail.

    dialog pustaka klien ADOMD detail

Memperbarui secara manual

Pustaka klien biasanya diinstal dan diperbarui secara otomatis bersama dengan alat dan aplikasi klien yang menggunakannya. Namun, dalam beberapa kasus pustaka klien mungkin tidak diperbarui secara otomatis dan masing-masing harus diperbarui secara manual. Untuk memperbarui secara manual, unduh dan jalankan paket Windows Installer (.msi) untuk setiap pustaka klien.

Untuk mengunduh dan memperbarui

  1. Klik

  2. Di Unduhan, klik Paket Penginstal Windows untuk memulai instalasi.

  3. Di Penyetelan, klik Berikutnya.

  4. Baca perjanjian lisensi. Jika Anda setuju, pilih Saya menerima persyaratan dalam perjanjian lisensi, lalu klik Berikutnya.

  5. Klik, Instal.

  6. Setelah selesai, klik Selesai.