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.
Berlaku untuk:SQL Server di Windows
Grup ketersediaan Always On adalah kumpulan database relasional SQL Server yang telah ditentukan sebelumnya dan mengalami failover secara bersamaan ketika kondisi memicu failover pada salah satu database, sehingga permintaan dialihkan ke database cerminan 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 baca-saja. Anda dapat meningkatkan kinerja dengan mengalihkan 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 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.
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 bawaan, baik akses baca-tulis maupun akses read-intent diizinkan pada 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 penetapan 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
Di Object Explorer, sambungkan ke instans server yang menghosting replika utama, dan memperluas pohon server.
Catatan
Langkah-langkah ini diambil dari Mengonfigurasi Akses Baca-Saja pada Replika Ketersediaan (SQL Server), yang menyediakan informasi tambahan dan instruksi alternatif untuk melakukan tugas ini.
Perluas node Ketersediaan Tinggi Always On dan node Grup Ketersediaan.
Klik grup ketersediaan yang replikanya ingin Anda ubah. Luaskan Replika Ketersediaan.
Klik kanan replika sekunder, dan klik Properti.
Dalam kotak dialog Properti Replika Ketersediaan, ubah pengaturan akses koneksi untuk peran sekunder, sebagai berikut:
Di daftar drop sekunder yang dapat dibaca, pilih Baca-niat saja.
Dalam daftar drop-down Koneksi dalam peran utama, pilih Izinkan semua koneksi. Ini adalah default.
Opsional, dalam daftar drop-down Availability mode, pilih Commit sinkron. Langkah ini tidak diperlukan, tetapi mengaturnya memastikan bahwa ada paritas data antara replika primer dan sekunder.
Properti ini juga menjadi persyaratan untuk failover yang direncanakan. 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.
Catatan
Langkah-langkah ini diambil dari Mengonfigurasi Perutean Baca-Saja 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: mengaktifkan koneksi baca ke replika sekunder (yang secara default dinonaktifkan), mengatur URL perutean baca-saja, dan membuat daftar perutean yang menentukan prioritas pengarahan permintaan koneksi. Pernyataan pertama, yang mengizinkan koneksi baca, bersifat redundan jika Anda sudah menetapkan properti tersebut 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 dengan mengganti placeholder dengan nilai yang valid untuk deployment 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 Multidimensional dan Data Mining Model, klik kanan Data Sources dan pilih New Data Source. Klik Baru untuk membuat sumber data baru.
Atau, untuk proyek model tabular, klik menu Model, lalu klik Impor dari Sumber Data.
Di Pengelola Sambungan, di Penyedia, pilih penyedia yang mendukung protokol Aliran Data Tabular (TDS). SQL Server Native Client 11.0 mendukung protokol ini.
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 di string koneksi. Karena peran replika akan berubah selama failover (yakni saat replika utama menjadi sekunder dan replika sekunder menjadi utama), Anda harus selalu menentukan listener agar koneksi klien diarahkan ulang sebagaimana mestinya.
Untuk menentukan nama pendengar grup ketersediaan, Anda dapat bertanya kepada administrator database atau terhubung ke instans dalam grup ketersediaan dan melihat konfigurasi ketersediaan Always On.
Masih dalam Pengelola Sambungan, klik Semua di panel navigasi kiri untuk melihat kisi properti penyedia data.
Atur Intensi 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 ditampilkan 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:BatchStarting dan SQL:BatchCompleting akan menampilkan kueri yang dikirim oleh Analysis Services yang dijalankan pada instans mesin basis data. Kejadian ini dipilih secara bawaan, jadi yang perlu Anda lakukan hanyalah memulai pelacakan.
Di SQL Server Data Tools, buka proyek atau solusi Analysis Services yang berisi koneksi sumber data yang ingin Anda uji. Pastikan sumber data mencantumkan listener grup ketersediaan, bukan instans di dalam grup tersebut.
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 solusi, dan setelah penerapan 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 di instans server yang menjadi host replika sekunder, yang menunjukkan bahwa koneksi dibuat melalui listener ke replika sekunder.
Langkah 2: Lakukan failover yang direncanakan untuk menguji konfigurasi
Di Management Studio, periksa replika utama dan sekunder untuk memastikan keduanya dikonfigurasi untuk mode komit sinkron dan sedang tersinkronisasi.
Langkah-langkah berikut menganggap replika sekunder dikonfigurasi menggunakan commit 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.
Di SQL Server Profiler, mulai pelacakan untuk setiap replika dan lihat hasil pelacakan secara berdampingan. Dalam langkah-langkah berikut, Anda akan membandingkan trace, untuk mengonfirmasi bahwa kueri SQL yang digunakan untuk pemrosesan atau kueri pada 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 Always On dan node Grup Ketersediaan.
Klik kanan grup ketersediaan yang akan di-failover, dan pilih perintah Failover . Ini akan memulai Panduan Grup Ketersediaan Failover. 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 Tampilkan 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 dapat melihat tanda-tanda pemrosesan pada instans lain, yang kini menjadi replika sekunder yang 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 diputus, kepemilikan listener grup ketersediaan berpindah bersama peran replika utama ke instans SQL Server yang baru, dan endpoint listener diikatkan ke alamat IP virtual serta port TCP milik 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 pada daftar perutean, URL perutean hanya-baca, dan read-intent 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."
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.