Analysis Services dengan Grup Ketersediaan AlwaysOn

Berlaku untuk:SQL Server - Khusus Windows

Grup ketersediaan Always On adalah kumpulan database relasional SQL Server yang telah ditentukan sebelumnya yang gagal bersama-sama ketika kondisi memicu failover di satu database, mengalihkan permintaan ke database yang dicerminkan pada instans lain dalam grup ketersediaan yang sama. Jika Anda menggunakan grup ketersediaan sebagai solusi ketersediaan tinggi, Anda bisa menggunakan database dalam grup tersebut sebagai sumber data dalam solusi tabular atau multidimensi Analysis Services. Semua operasi Analysis Services berikut berfungsi seperti yang diharapkan saat menggunakan database ketersediaan: memproses atau mengimpor data, mengkueri data relasional secara langsung (menggunakan penyimpanan ROLAP atau mode DirectQuery), dan tulis balik.

Pemrosesan dan kueri adalah beban kerja baca-saja. Anda dapat meningkatkan performa dengan membongkar beban kerja ini ke replika sekunder yang dapat dibaca. Konfigurasi tambahan diperlukan untuk skenario ini. Gunakan daftar periksa dalam topik ini untuk memastikan Anda mengikuti semua langkah.

Prasyarat

Anda harus memiliki login SQL Server pada semua replika. Anda harus menjadi sysadmin untuk mengonfigurasi grup ketersediaan, pendengar, dan database, tetapi pengguna hanya memerlukan izin db_datareader untuk mengakses database dari klien Analysis Services.

Gunakan penyedia data yang mendukung protokol aliran data tabular (TDS) versi 7.4 atau yang lebih baru, seperti SQL Server Native Client 11.0 atau Penyedia Data untuk SQL Server di .NET Framework 4.02.

(Untuk beban kerja baca-saja). Peran replika sekunder harus dikonfigurasi untuk koneksi baca-saja, grup ketersediaan harus memiliki daftar perutean, dan koneksi di sumber data Analysis Services harus menentukan pendengar grup ketersediaan. Instruksi disediakan dalam topik ini.

Daftar periksa: Gunakan replika sekunder untuk operasi baca-saja

Kecuali solusi Analysis Services Anda menyertakan tulis balik, Anda dapat mengonfigurasi koneksi sumber data untuk menggunakan replika sekunder yang dapat dibaca. Jika Anda memiliki koneksi jaringan yang cepat, replika sekunder memiliki latensi data yang sangat rendah, menyediakan data yang hampir identik sebagai replika utama. Dengan menggunakan replika sekunder untuk operasi Analysis Services, Anda dapat mengurangi ketidakcocokan baca-tulis pada replika utama dan mendapatkan pemanfaatan replika sekunder yang lebih baik di grup ketersediaan Anda.

Secara default, akses baca-tulis dan baca-niat diizinkan ke replika utama dan tidak ada koneksi yang diizinkan ke replika sekunder. Konfigurasi tambahan diperlukan untuk menyiapkan koneksi klien baca-saja ke replika sekunder. Konfigurasi memerlukan pengaturan properti pada replika sekunder dan menjalankan skrip T-SQL yang menentukan daftar perutean baca-saja. Gunakan prosedur berikut untuk memastikan Anda telah melakukan kedua langkah tersebut.

Catatan

Langkah-langkah berikut mengasumsikan grup ketersediaan dan database AlwaysOn yang sudah ada. Jika Anda mengonfigurasi grup baru, gunakan Wizard Grup Ketersediaan Baru untuk membuat grup dan bergabung dengan database. Wizard memeriksa prasyarat, menyediakan panduan untuk setiap langkah, dan melakukan sinkronisasi awal. Untuk informasi selengkapnya, lihat Menggunakan Wizard Grup Ketersediaan (SQL Server Management Studio).

Langkah 1: Mengonfigurasi akses pada replika ketersediaan

  1. Di Object Explorer, sambungkan ke instans server yang menghosting replika utama, dan memperluas pohon server.

    Catatan

    Langkah-langkah ini diambil dari Mengonfigurasi akses Read-Only pada Replika Ketersediaan (SQL Server), yang menyediakan informasi tambahan dan instruksi alternatif untuk melakukan tugas ini.

  2. Perluas node Ketersediaan Tinggi AlwaysOn dan node Grup Ketersediaan .

  3. Klik grup ketersediaan yang replikanya ingin Anda ubah. Perluas Replika Ketersediaan.

  4. Klik kanan replika sekunder, dan klik Properti.

  5. Dalam kotak dialog Properti Replika Ketersediaan , ubah akses koneksi untuk peran sekunder, sebagai berikut:

    • Di daftar drop sekunder yang dapat dibaca , pilih Baca-niat saja.

    • Di daftar Koneksi di drop peran utama , pilih Izinkan semua koneksi. Ini adalah default.

    • Secara opsional, dalam daftar drop mode Ketersediaan , pilih Penerapan sinkron. Langkah ini tidak diperlukan, tetapi mengaturnya memastikan bahwa ada paritas data antara replika primer dan sekunder.

      Properti ini juga merupakan persyaratan untuk failover yang direncanakan. Jika Anda ingin melakukan failover manual yang direncanakan untuk tujuan pengujian, atur Mode ketersediaan ke Penerapan sinkron untuk replika utama dan sekunder.

Langkah 2: Mengonfigurasi perutean baca-saja

  1. Sambungkan ke replika utama.

    Catatan

    Langkah-langkah ini diambil dari Mengonfigurasi Perutean Read-Only untuk Grup Ketersediaan (SQL Server), yang menyediakan informasi tambahan dan instruksi alternatif untuk melakukan tugas ini.

  2. Buka jendela kueri dan tempelkan skrip berikut ini. Skrip ini melakukan tiga hal: memungkinkan koneksi yang dapat dibaca ke replika sekunder (yang nonaktif secara default), mengatur URL perutean baca-saja, dan membuat daftar perutean yang memprioritaskan bagaimana permintaan koneksi diarahkan. Pernyataan pertama, memungkinkan koneksi yang dapat dibaca, berlebihan jika Anda sudah mengatur properti di Management Studio, tetapi disertakan untuk kelengkapan.

    ALTER AVAILABILITY GROUP [AG1]  
     MODIFY REPLICA ON  
    N'COMPUTER01' WITH   
    (SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY));  
    
    ALTER AVAILABILITY GROUP [AG1]  
     MODIFY REPLICA ON  
    N'COMPUTER01' WITH   
    (SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://COMPUTER01.contoso.com:1433'));  
    
    ALTER AVAILABILITY GROUP [AG1]  
     MODIFY REPLICA ON  
    N'COMPUTER02' WITH   
    (SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY));  
    
    ALTER AVAILABILITY GROUP [AG1]  
     MODIFY REPLICA ON  
    N'COMPUTER02' WITH   
    (SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://COMPUTER02.contoso.com:1433'));  
    
    ALTER AVAILABILITY GROUP [AG1]   
    MODIFY REPLICA ON  
    N'COMPUTER01' WITH   
    (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('COMPUTER02','COMPUTER01')));  
    
    ALTER AVAILABILITY GROUP [AG1]   
    MODIFY REPLICA ON  
    N'COMPUTER02' WITH   
    (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('COMPUTER01','COMPUTER02')));  
    GO  
    
  3. Ubah skrip, ganti tempat penampung dengan nilai yang valid untuk penyebaran Anda:

    • Ganti 'Computer01' dengan nama instans server yang menghosting replika utama.

    • Ganti 'Computer02' dengan nama instans server yang menghosting replika sekunder.

    • Ganti 'contoso.com' dengan nama domain Anda, atau hilangkan dari skrip jika semua komputer berada di domain yang sama. Pertahankan nomor port jika pendengar menggunakan port default. Port yang benar-benar digunakan oleh pendengar tercantum di halaman properti di Management Studio.

  4. Jalankan skrip.

    Selanjutnya, buat sumber data dalam model Analysis Services yang menggunakan database dari grup yang baru saja Anda konfigurasi.

Membuat sumber data Analysis Services menggunakan database ketersediaan AlwaysOn

Bagian ini menjelaskan cara membuat sumber data Analysis Services yang tersambung ke database dalam grup ketersediaan. Anda dapat menggunakan instruksi ini untuk mengonfigurasi koneksi ke replika utama (default) atau replika sekunder yang dapat dibaca yang Anda konfigurasi berdasarkan langkah-langkah di bagian sebelumnya. Pengaturan konfigurasi AlwaysOn, ditambah properti koneksi yang diatur di klien, akan menentukan apakah replika primer atau sekunder digunakan.

  1. Di SQL Server Data Tools, dalam proyek Model Multidimensi dan Penggalian Data Analysis Services, klik kanan Sumber Data dan pilih Sumber Data Baru. Klik Baru untuk membuat sumber data baru.

    Atau, untuk proyek model tabular, klik menu Model, lalu klik Impor dari Sumber Data.

  2. Di Pengelola Sambungan, di Penyedia, pilih penyedia yang mendukung protokol Aliran Data Tabular (TDS). SQL Server Native Client 11.0 mendukung protokol ini.

  3. Di Pengelola Sambungan, di Nama Server, masukkan nama pendengar grup ketersediaan, lalu pilih database yang tersedia dalam grup.

    Pendengar grup ketersediaan mengalihkan koneksi klien ke replika utama untuk permintaan baca-tulis atau ke replika sekunder jika Anda menentukan niat baca dalam string koneksi. Karena peran replika akan berubah selama failover (di mana primer menjadi sekunder dan sekunder menjadi primer), Anda harus selalu menentukan pendengar sehingga koneksi klien dialihkan sesuai.

    Untuk menentukan nama pendengar grup ketersediaan, Anda dapat meminta administrator database atau menyambungkan ke instans di grup ketersediaan dan melihat konfigurasi ketersediaan AlwaysOn-nya.

  4. Masih dalam Pengelola Sambungan, klik Semua di panel navigasi kiri untuk menampilkan kisi properti penyedia data.

    Atur Niat Aplikasi ke READONLY jika Anda mengonfigurasi koneksi klien baca-saja ke replika sekunder. Jika tidak, jaga agar READWRITE tetap default untuk mengalihkan koneksi ke replika utama.

  5. Di Informasi Peniruan Identitas, pilih Gunakan nama pengguna dan kata sandi Windows tertentu, lalu masukkan akun pengguna domain Windows yang memiliki izin minimal db_datareader pada database.

    Jangan pilih Gunakan kredensial pengguna saat ini atau Warisi. Anda bisa memilih Gunakan akun layanan, tetapi hanya jika akun tersebut memiliki izin baca pada database.

    Selesaikan sumber data dan tutup Panduan Sumber Data.

  6. Tambahkan MultiSubnetFailover=Ya ke string koneksi untuk memberikan deteksi dan koneksi yang lebih cepat ke server aktif. Untuk informasi selengkapnya tentang properti ini, lihat Dukungan SQL Server Native Client untuk Ketersediaan Tinggi, Pemulihan Bencana.

    Properti ini tidak terlihat di kisi properti. Untuk menambahkan properti, klik kanan sumber data dan pilih Tampilkan Kode. Tambahkan MultiSubnetFailover=Yes ke string koneksi.

Sumber data sekarang ditentukan. Anda sekarang dapat melanjutkan untuk membangun model, dimulai dengan tampilan sumber data, atau dalam kasus model tabular, membuat hubungan. Ketika Anda berada di titik di mana data harus diambil dari database ketersediaan (misalnya ketika Anda siap untuk memproses atau menyebarkan solusi), Anda dapat menguji konfigurasi untuk memverifikasi data diakses dari replika sekunder.

Menguji konfigurasi

Setelah mengonfigurasi replika sekunder dan membuat koneksi sumber data di Analysis Services, Anda dapat mengonfirmasi bahwa perintah pemrosesan dan kueri dialihkan ke replika sekunder. Anda juga dapat melakukan failover manual yang direncanakan untuk memverifikasi rencana pemulihan Anda untuk skenario ini.

Langkah 1: Konfirmasikan koneksi sumber data dialihkan ke replika sekunder

  1. Mulai SQL Server Profiler dan sambungkan ke instans SQL Server yang menghosting replika sekunder.

    Saat jejak berjalan, peristiwa SQL:BatchStarting dan SQL:BatchCompleting akan menampilkan kueri yang dikeluarkan dari Analysis Services yang dijalankan pada instans mesin database. Peristiwa ini dipilih secara default sehingga yang perlu Anda lakukan adalah memulai pelacakan.

  2. Di SQL Server Data Tools, buka proyek atau solusi Analysis Services yang berisi koneksi sumber data yang ingin Anda uji. Pastikan bahwa sumber data menentukan pendengar grup ketersediaan dan bukan instans dalam grup.

    Langkah ini penting. Perutean ke replika sekunder tidak akan terjadi jika Anda menentukan nama instans server.

  3. Atur jendela aplikasi sehingga Anda dapat melihat SQL Server Profiler dan SQL Server Data Tools berdampingan.

  4. Sebarkan solusi, dan setelah selesai, hentikan pelacakan.

    Di jendela pelacakan, Anda akan melihat peristiwa dari aplikasi Microsoft SQL Server Analysis Services. Anda akan melihat pernyataan SELECT yang mengambil data dari database pada instans server yang menghosting replika sekunder, membuktikan bahwa koneksi dibuat melalui pendengar ke replika sekunder.

Langkah 2: Lakukan failover yang direncanakan untuk menguji konfigurasi

  1. Di Management Studio periksa replika utama dan sekunder untuk memastikan bahwa keduanya dikonfigurasi untuk mode penerapan sinkron dan saat ini disinkronkan.

    Langkah-langkah berikut mengasumsikan replika sekunder dikonfigurasi untuk penerapan sinkron.

    Untuk memverifikasi sinkronisasi, buka koneksi ke setiap instans yang menghosting replika utama dan sekunder, perluas folder Database, dan pastikan bahwa database telah (Disinkronkan) dan (Sinkronisasi) ditambahkan ke namanya di setiap replika.

    Catatan

    Langkah-langkah ini diambil dari Melakukan Failover Manual Terencana dari Grup Ketersediaan (SQL Server), yang menyediakan informasi tambahan dan instruksi alternatif untuk melakukan tugas ini.

  2. Di SQL Server Profiler, mulai jejak untuk setiap replika dan lihat jejak secara berdampingan. Dalam langkah-langkah berikut, Anda akan membandingkan jejak, mengonfirmasi bahwa kueri SQL yang digunakan untuk memproses atau mengkueri dari pengalihan Analysis Services dari satu replika ke replika lainnya.

  3. Jalankan perintah pemrosesan atau kueri dari dalam Analysis Services. Karena Anda mengonfigurasi sumber data untuk koneksi baca-saja, Anda akan melihat perintah dijalankan pada replika sekunder.

  4. Di Management Studio, sambungkan ke replika sekunder.

  5. Perluas simpul Ketersediaan Tinggi AlwaysOn dan node Grup Ketersediaan .

  6. Klik kanan grup ketersediaan yang akan di-failover, dan pilih perintah Failover . Ini memulai Wizard Grup Ketersediaan Fail Over. Gunakan wizard untuk memilih replika mana yang akan dijadikan replika utama baru.

  7. Konfirmasikan bahwa failover berhasil:

    • Di Management Studio, perluas grup ketersediaan untuk melihat (primer) dan (sekunder). Instans yang sebelumnya merupakan replika utama sekarang harus menjadi replika sekunder.

    • Lihat dasbor untuk menentukan apakah ada masalah kesehatan yang terdeteksi. Klik kanan grup ketersediaan dan pilih Tampilkan Dasbor.

  8. Tunggu satu atau dua menit hingga failover selesai pada backend.

  9. Ulangi perintah pemrosesan atau kueri dalam solusi Analysis Services, lalu watch jejak berdampingan di SQL Server Profiler. Anda akan melihat bukti pemrosesan pada instans lain, yang sekarang menjadi replika sekunder baru.

Apa yang terjadi setelah failover terjadi

Selama failover, replika sekunder beralih ke peran utama dan replika utama sebelumnya beralih ke peran sekunder. Semua koneksi klien dihentikan, kepemilikan pendengar grup ketersediaan bergerak dengan peran replika utama ke instans SQL Server baru, dan titik akhir pendengar terikat ke alamat IP virtual instans baru dan port TCP. Untuk informasi selengkapnya, lihat Tentang Akses Koneksi Klien ke Replika Ketersediaan (SQL Server).

Jika failover terjadi selama pemrosesan, kesalahan berikut terjadi di Analysis Services di file log atau jendela output: "Kesalahan OLE DB: kesalahan OLE DB atau ODBC: Kegagalan tautan komunikasi; 08S01; Penyedia TPC: Koneksi yang ada ditutup secara paksa oleh host jarak jauh. ; 08S01."

Kesalahan ini akan diatasi jika Anda menunggu sebentar dan mencoba lagi. Jika grup ketersediaan dikonfigurasi dengan benar untuk replika sekunder yang dapat dibaca, pemrosesan akan dilanjutkan pada replika sekunder baru saat Anda mencoba kembali pemrosesan.

Kesalahan persisten kemungkinan besar disebabkan oleh masalah konfigurasi. Anda dapat mencoba menjalankan kembali skrip T-SQL untuk mengatasi masalah dengan daftar perutean, URL perutean baca-saja, dan niat baca pada replika sekunder. Anda juga harus memverifikasi bahwa replika utama memungkinkan semua koneksi.

Tulis balik saat menggunakan database ketersediaan AlwaysOn

Writeback adalah fitur Analysis Services yang mendukung analisis Bagaimana Jika di Excel. Ini juga umumnya digunakan untuk tugas penganggaran dan prakiraan dalam aplikasi kustom.

Dukungan untuk writeback memerlukan koneksi klien READWRITE. Di Excel, jika Anda mencoba menulis kembali pada koneksi baca-saja, kesalahan berikut akan terjadi: "Data tidak dapat diambil dari sumber data eksternal." "Data tidak dapat diambil dari sumber data eksternal."

Jika Anda mengonfigurasi koneksi untuk selalu mengakses replika sekunder yang dapat dibaca, Anda sekarang harus mengonfigurasi koneksi baru yang menggunakan koneksi READWRITE ke replika utama.

Untuk melakukan ini, buat sumber data tambahan dalam model Analysis Services untuk mendukung koneksi baca-tulis. Saat membuat sumber data tambahan, gunakan nama pendengar dan database yang sama dengan yang Anda tentukan dalam koneksi baca-saja, tetapi alih-alih memodifikasi Niat Aplikasi, pertahankan default yang mendukung koneksi READWRITE. Sekarang Anda dapat menambahkan tabel fakta atau dimensi baru ke tampilan sumber data Anda yang didasarkan pada sumber data baca-tulis, lalu mengaktifkan tulis balik pada tabel baru.

Lihat juga

Listener Grup Ketersediaan, Konektivitas Klien, dan Kegagalan Aplikasi (SQL Server)
Sekunder Aktif: Replika Sekunder yang Dapat Dibaca (Grup Ketersediaan AlwaysOn)
Kebijakan AlwaysOn untuk Masalah Operasional dengan Grup Ketersediaan AlwaysOn (SQL Server)
Membuat Sumber Data (SSAS Multidmensional)
Aktifkan Penulisan Balik Dimensi