Dapatkah Grup Ketersediaan menggantikan replikasi transaksional?

8

Saya telah melihat fitur-fitur baru dari SQL Server 2012, dan bagaimana ini dapat membantu situasi saya saat ini.

Saat ini kami menggunakan SQL Server 2008 R2, dan mereplikasi dua database server OLTP ke server pelaporan tunggal melalui replikasi transaksional. Kami kemudian menggunakan DB yang direplikasi ini untuk pelaporan.

Saya tertarik pada apakah SQL Server 2012 dan Grup Ketersediaan dapat menggantikan ini - jadi alih-alih replikasi transaksional, saya akan menggunakan grup ketersediaan baru dan mencerminkan database dua server OLTP ke server pelaporan - di mana pelaporan akan dapat untuk mengakses replika hanya-baca.

Saya tidak yakin apakah ini akan bekerja dengan baik, atau bahkan sama sekali.

Saya ingin menjauh dari replikasi, karena menyebabkan masalah dengan strategi penerapan saya (Menggunakan VSDBCMD.exe). Saya juga ingin menghindari keterlambatan reinitialisation replikasi pada DB besar.

Adakah yang punya contoh atau pengalaman bagus dengan ini? Apakah mungkin membuat mirror dengan replika yang dapat dibaca dari beberapa server ke server tunggal seperti mirroring normal di versi yang lebih rendah?

Ini awalnya ditanyakan di sini: /programming/10415225/mirroring-and-avilities-groups-in-sql2012 Maaf saya belum berpikir saya bisa memigrasikan pertanyaan.

Meff
sumber

Jawaban:

10

Digesek dari jawaban saya di StackOverflow , hanya untuk mencegah orang lain menghabiskan upaya pada jenis jawaban yang sama.

Secara pribadi saya pikir ini akan bekerja jauh lebih baik daripada replikasi transaksional, meskipun saya belum melakukan perbandingan formal dari keduanya dalam skenario migrasi yang benar. Saya tahu bahwa dengan jumlah masalah yang orang miliki dengan replikasi transaksional, dibandingkan dengan bahkan mirroring standar (dan ini merupakan peningkatan dari itu), Anda tentu memiliki lebih sedikit masalah.

Keuntungan terbesar adalah bahwa sekunder dapat ditandai sebagai hanya baca - sehingga Anda dapat menjalankan semua pelaporan yang Anda inginkan, dan itu tidak akan mempengaruhi mirroring sama sekali. Anda hanya perlu tempdb lebih besar (karena ini pada dasarnya menggunakan rcsi untuk melakukan ini).

Tentu saja Anda perlu menyadari bahwa kedua sisi AG perlu dilisensikan sepenuhnya untuk menggunakan replika untuk operasi read-only. Dan kedua belah pihak harus berjalan pada versi Windows tertentu (Enterprise atau lebih baik pada 2008 R2 dan lebih rendah; Standar atau lebih baik pada 2012 dan di atas) karena mereka memerlukan pengelompokan failover - contoh SQL dalam AG tidak perlu dikelompokkan, tetapi mereka harus duduk di atas infrastruktur di OS.

Aaron Bertrand
sumber
Terima kasih Aaron, saya akan membiarkannya terbuka untuk jawaban lain karena saya berharap mendapatkan lebih banyak pendapat di sini daripada Stack Overflow :)
Meff
Jangan khawatir, saya agak curiga karena itu Anda mengulanginya di sini, dan tidak berusaha menahannya. Hanya berusaha membantu mengurangi usaha.
Aaron Bertrand
Hanya berpikir saya akan menunjukkan bahwa Windows Server 2012 tidak memerlukan edisi Enterprise untuk Failover Clustering. Ini sekarang tersedia dalam Standar.
SomeGuy
@OmeGuy itu benar, tetapi bukankah karena mereka mengambil Edisi Perusahaan dan lulus Standar? Empat edisi Windows Server 2012 adalah DataCenter, Standar (dulu Enterprise), Essentials (dulu SBS), dan Yayasan (sepertinya mirip dengan Web?).
Aaron Bertrand
7

Keuntungan Replikasi Transaksional daripada Grup yang Tersedia untuk Melaporkan Beban Kerja

Sebagai titik balik untuk jawaban di atas, berikut adalah beberapa alasan mengapa replikasi transaksional mungkin menjadi solusi yang lebih baik daripada kelompok ketersediaan untuk melaporkan beban kerja.

  • Anda bisa mereplikasi subset tabel dalam database. Replika Ketersediaan Grup selalu menjadi seluruh basis data. Jika beberapa tabel berisi informasi sensitif, akses audit lebih mudah jika semua pelaporan dilakukan terhadap database yang tidak menyertakan informasi itu.
  • Anda dapat memfilter baris yang dapat direplikasi dengan memberikan tingkat granularitas yang baik. Misalnya, Anda dapat mereplikasi informasi khusus departemen ke banyak server pelaporan departemen, dengan masing-masing memiliki akses ke informasi mereka saja.
  • Anda dapat memiliki strategi pengindeksan yang sangat berbeda antara penerbit dan pelanggan. Dengan Grup yang Tersedia indeksnya sama dan meskipun statistik akan dibuat pada replika dan disimpan dalam tempdb, tetapi Anda tidak memiliki kemampuan untuk menyetel bahwa replikasi memberi Anda.
  • Masalah keamanan. Secara umum, pengguna pelaporan terhubung langsung ke basis data dengan menggunakan SSMS, akses atau unggul dan Anda ingin membatasi akses mereka ke basis data pelaporan saja.

Jika tidak ada yang merupakan masalah besar, maka Grup Ketersediaan mungkin merupakan pilihan yang lebih baik.

StrayCatDBA
sumber