Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Grup ketersediaan AlwaysOn adalah kumpulan database relasional SQL Server yang telah ditentukan sebelumnya yang mengalami failover secara bersamaan ketika kondisi menyebabkan failover pada salah satu database terjadi, dan permintaan dialihkan ke database cermin pada instans lain dalam grup ketersediaan yang sama. Jika Anda menggunakan grup ketersediaan sebagai solusi ketersediaan tinggi, Anda dapat 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 yang hanya membaca data. Anda dapat meningkatkan kinerja dengan mengalihkan beban kerja ini ke replika sekunder yang dapat diakses. 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 di 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 diberikan dalam topik ini.
Checklist: Gunakan replika sekunder untuk membaca 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 persaingan baca-tulis pada replika utama dan memanfaatkan replika sekunder secara lebih efektif dalam grup ketersediaan Anda.
Secara bawaan, akses baca-tulis dan niatan baca diizinkan untuk mengakses replika utama dan tidak ada akses yang diizinkan ke replika sekunder. Konfigurasi tambahan diperlukan untuk menyiapkan koneksi klien baca-saja ke replika sekunder. Konfigurasi memerlukan penyetelan properti pada replika sekunder dan menjalankan skrip T-SQL yang menentukan daftar rute baca-saja. Gunakan prosedur berikut untuk memastikan Anda telah melakukan kedua langkah tersebut.
Nota
Langkah-langkah berikut mengasumsikan grup ketersediaan AlwaysOn dan database 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
Di Object Explorer, sambungkan ke instans server yang menghosting replika utama, dan memperluas pohon server.
Nota
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.
Perluas node Ketersediaan Tinggi AlwaysOn dan node Grup Ketersediaan.
Pilih grup ketersediaan yang replikanya ingin Anda ubah. Perluas Replika Ketersediaan.
Klik kanan replika sekunder, dan klik Properti.
Dalam kotak dialog Properti Replika Ketersediaan ubah akses koneksi untuk peran sekunder dengan cara berikut:
Di daftar dropdown sekunder yang dapat dibaca, pilih Hanya niat baca.
Di daftar drop-down Koneksi dalam peran utama, pilih Izinkan semua koneksi. Ini adalah default.
Opsional, dalam daftar turun mode ketersediaan, pilih Komit sinkron. Langkah ini tidak diperlukan, tetapi mengaturnya memastikan bahwa ada paritas data antara replika primer dan sekunder.
Properti ini juga merupakan persyaratan untuk failover terencana. Jika Anda ingin melakukan failover manual terencana untuk tujuan pengujian, atur Mode ketersediaan ke Komit sinkron untuk replika primer dan sekunder.
Langkah 2: Mengonfigurasi perutean baca-saja
Sambungkan ke replika utama.
Nota
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.
Buka jendela kueri dan tempelkan dalam skrip berikut. 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, yang memungkinkan koneksi terbaca dengan baik, bisa dianggap berlebihan jika Anda sudah menetapkan properti di Management Studio, tetapi tetap disertakan demi 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'))); GOUbah skrip, ganti placeholder dengan nilai yang valid untuk penerapan 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.
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.
Di SQL Server Data Tools, dalam proyek Analysis Services Multidimensi dan Model Penggalian Data, 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.
Di Pengelola Koneksi, di Penyedia, pilih penyedia yang mendukung protokol Aliran Data Tabular (TDS). SQL Server Native Client 11.0 mendukung protokol ini.
Di Pengelola Koneksi, 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 listener sehingga koneksi klien dapat dialihkan dengan benar.
Untuk menentukan nama pendengar grup ketersediaan, Anda dapat meminta administrator database atau menyambungkan ke instans di grup ketersediaan dan melihat konfigurasi ketersediaan AlwaysOn-nya. Pada cuplikan layar di bawah ini, listener grup ketersediaan adalah AdventureWorks2.
Masih di Pengelola Koneksi, 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, pertahankan default READWRITE untuk mengalihkan koneksi ke replika utama.
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.
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 Klien Asli SQL Server untuk Ketersediaan Tinggi, Pemulihan Bencana.
Properti ini tidak dapat terlihat di grid properti. Untuk menambahkan properti, klik kanan sumber data dan pilih Tampilkan Kode. Tambahkan
MultiSubnetFailover=Yeske 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.
Uji 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
Mulai SQL Server Profiler dan sambungkan ke instans SQL Server yang menghosting replika sekunder.
Saat pelacakan berjalan, peristiwa
SQL:BatchStartingdanSQL:BatchCompletingakan menampilkan kueri yang dikeluarkan dari Analysis Services yang sedang dijalankan pada instans mesin database. Peristiwa ini dipilih secara default sehingga yang perlu Anda lakukan adalah memulai pemantauan.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 listener (pendengar) grup ketersediaan dan bukan instans dalam grup.
Langkah ini penting. Perutean ke replika sekunder tidak akan terjadi jika Anda menentukan nama instans server.
Atur jendela aplikasi sehingga Anda dapat melihat SQL Server Profiler dan SQL Server Data Tools secara berdampingan.
Terapkan solusinya, dan ketika selesai, hentikan pelacakan.
Di jendela pelacakan, Anda akan melihat peristiwa dari aplikasi Microsoft SQL Server Analysis Services. Anda akan melihat
SELECTpernyataan 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
Di Management Studio, periksa replika utama dan sekunder untuk memastikan bahwa keduanya dikonfigurasi untuk mode komit 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.
Nota
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.
Di SQL Server Profiler, mulai penelusuran untuk setiap replika dan lihat penelusuran secara bersamaan. Dalam langkah-langkah berikut, Anda akan membandingkan jejak-query, mengonfirmasi bahwa kueri SQL yang digunakan untuk memproses atau mengakses Analysis Services beralih dari satu replika ke replika lainnya.
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.
Di Management Studio, sambungkan ke replika sekunder.
Perluas node Ketersediaan Tinggi AlwaysOn dan node Grup Ketersediaan.
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.
Pastikan bahwa failover berhasil:
Di Management Studio, perluas grup ketersediaan untuk melihat sebutan (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 Perlihatkan Dasbor.
Tunggu satu atau dua menit hingga failover selesai pada backend.
Ulangi perintah pemrosesan atau kueri dalam solusi Analysis Services, lalu tonton jejak secara berdampingan di SQL Server Profiler. Anda seharusnya melihat bukti pemrosesan pada instance lainnya, yang kini 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 kelompok ketersediaan berpindah beserta peran replika utama ke instans SQL Server baru, dan titik akhir pendengar terikat pada alamat IP virtual dan port TCP instans baru. 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 karena 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 mengizinkan 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 Multidimensional)
Aktifkan Penulisan Balik Dimensi