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
Topik ini menjelaskan cara menggunakan cmdlet PowerShell untuk membuat dan mengonfigurasi grup ketersediaan AlwaysOn dengan menggunakan PowerShell di SQL Server. Kelompok ketersediaan mendefinisikan sekumpulan database pengguna yang akan melakukan failover sebagai satu kesatuan serta sekumpulan mitra failover, yang dikenal sebagai replika ketersediaan, yang mendukung failover.
Catatan
Untuk pengenalan grup ketersediaan, lihat Gambaran Umum Grup Ketersediaan AlwaysOn (SQL Server).
Catatan
Sebagai alternatif untuk menggunakan cmdlet PowerShell, Anda bisa menggunakan wizard Buat Grup Ketersediaan atau Transact-SQL. Untuk informasi selengkapnya, lihat Menggunakan Kotak Dialog Grup Ketersediaan Baru (SQL Server Management Studio) atau Membuat Grup Ketersediaan (Transact-SQL).
Sebelum Anda mulai
Prasyarat, Pembatasan, dan Rekomendasi
- Sebelum membuat grup ketersediaan, verifikasi bahwa instans host SQL Server masing-masing berada pada node Windows Server Failover Clustering (WSFC) yang berbeda dari satu kluster failover WSFC. Selain itu, verifikasi bahwa instans server Anda memenuhi prasyarat instans server lainnya dan bahwa semua persyaratan grup ketersediaan AlwaysOn lainnya terpenuhi dan Anda mengetahui rekomendasi tersebut. Untuk informasi selengkapnya, kami sangat menyarankan Anda membaca Prasyarat, Pembatasan, dan Rekomendasi untuk Grup Ketersediaan AlwaysOn (SQL Server).
Izin
Memerlukan keanggotaan dalam peran server tetap sysadmin serta salah satu dari izin server CREATE AVAILABILITY GROUP, izin ALTER ANY AVAILABILITY GROUP, atau izin CONTROL SERVER.
Menggunakan PowerShell untuk Membuat dan Mengonfigurasi Grup Ketersediaan
Tabel berikut mencantumkan tugas dasar yang terlibat dalam mengonfigurasi grup ketersediaan dan menunjukkan tugas yang didukung oleh cmdlet PowerShell. Tugas grup ketersediaan AlwaysOn harus dilakukan secara berurutan di mana tugas tersebut disajikan dalam tabel.
| Tugas | Cmdlet PowerShell (jika Tersedia) atau Pernyataan Transact-SQL | Tempat Melakukan Tugas |
|---|---|---|
| Membuat titik akhir pencerminan database (sekali per instans SQL Server) | New-SqlHadrEndPoint | Jalankan pada setiap instans server yang tidak memiliki endpoint pencerminan database. Untuk mengubah titik akhir pencerminan database yang sudah ada, gunakan Set-SqlHadrEndpoint. |
| Membuat grup ketersediaan | Pertama, gunakan cmdlet New-SqlAvailabilityReplica dengan parameter -AsTemplate untuk membuat objek replika ketersediaan dalam memori untuk masing-masing dari dua replika ketersediaan yang Anda rencanakan untuk disertakan dalam grup ketersediaan. Kemudian, buat grup ketersediaan dengan menggunakan cmdlet New-SqlAvailabilityGroup dan referensikan objek replika ketersediaan Anda. |
Jalankan pada instans server yang akan menghosting replika utama awal. |
| Gabungkan replika sekunder ke grup ketersediaan | Join-SqlAvailabilityGroup | Jalankan pada setiap instans server yang menghosting replika sekunder. |
| Menyiapkan database sekunder | Backup-SqlDatabase dan Restore-SqlDatabase | Buat cadangan pada instans server yang menghosting replika utama. Pulihkan cadangan pada setiap instans server yang menghosting replika sekunder, menggunakan parameter pemulihan NoRecovery . Jika jalur file berbeda antara komputer yang menghosting replika utama dan replika sekunder target, gunakan juga parameter pemulihan RelocateFile . |
| Mulai sinkronisasi data dengan menggabungkan setiap database sekunder ke grup ketersediaan | Add-SqlAvailabilityDatabase | Jalankan pada setiap instans server yang menghosting replika sekunder. |
Catatan
Untuk melakukan tugas yang diberikan, ubah direktori (cd) ke instans atau instans server yang ditunjukkan.
Menggunakan PowerShell
Siapkan dan gunakan Penyedia PowerShell SQL Server.
Catatan
Untuk melihat sintaksis dan contoh cmdlet tertentu, gunakan cmdlet Get-Help di lingkungan PowerShell SQL Server. Untuk informasi selengkapnya, lihat Mendapatkan Bantuan SQL Server PowerShell.
Pindah ke direktori (cd) pada instans server yang akan menghosting replika utama.
Buat objek replika ketersediaan dalam memori untuk replika utama.
Buat objek replika availabilitas di memori untuk setiap replika sekunder.
Buat grup ketersediaan.
Catatan
Panjang maksimum untuk nama grup ketersediaan adalah 128 karakter.
Bergabunglah dengan replika sekunder baru ke grup ketersediaan, lihat Bergabung dengan Replika Sekunder ke Grup Ketersediaan (SQL Server).
Untuk setiap database dalam grup ketersediaan, buat database sekunder dengan memulihkan cadangan terbaru database utama, menggunakan RESTORE WITH NORECOVERY.
Gabungkan setiap database sekunder baru ke grup ketersediaan, lihat Menggabungkan Replika Sekunder ke Grup Ketersediaan (SQL Server).
(opsional) Gunakan perintah Windows dir untuk memverifikasi konten grup ketersediaan baru.
Catatan
Jika akun layanan SQL Server dari instans server berjalan menggunakan akun pengguna domain yang berbeda, pada setiap instans server, buat login untuk instans server yang lain dan berikan izin CONNECT kepada login tersebut pada endpoint pencerminan database lokal.
Contoh
Contoh PowerShell berikut membuat dan mengonfigurasi grup ketersediaan sederhana bernama <myAvailabilityGroup> dengan dua replika ketersediaan dan satu database ketersediaan. Contohnya:
Mencadangkan
<myDatabase>dan log transaksinya.Memulihkan
<myDatabase>dan log transaksinya, menggunakan opsi -NoRecovery.Membuat representasi dalam memori dari replika utama, yang akan dihosting oleh instans lokal SQL Server (bernama
PrimaryComputer\Instance).Membuat representasi dalam memori dari replika sekunder, yang akan dihosting oleh instans SQL Server (bernama
SecondaryComputer\Instance).Membuat grup ketersediaan bernama
<myAvailabilityGroup>.Menggabungkan replika sekunder ke grup ketersediaan.
Menggabungkan database sekunder ke grup ketersediaan.
# Backup my database and its log on the primary
Backup-SqlDatabase `
-Database "<myDatabase>" `
-BackupFile "\\share\backups\<myDatabase>.bak" `
-ServerInstance "PrimaryComputer\Instance"
Backup-SqlDatabase `
-Database "<myDatabase>" `
-BackupFile "\\share\backups\<myDatabase>.log" `
-ServerInstance "PrimaryComputer\Instance" `
-BackupAction Log
# Restore the database and log on the secondary (using NO RECOVERY)
Restore-SqlDatabase `
-Database "<myDatabase>" `
-BackupFile "\\share\backups\<myDatabase>.bak" `
-ServerInstance "SecondaryComputer\Instance" `
-NoRecovery
Restore-SqlDatabase `
-Database "<myDatabase>" `
-BackupFile "\\share\backups\<myDatabase>.log" `
-ServerInstance "SecondaryComputer\Instance" `
-RestoreAction Log `
-NoRecovery
# Create an in-memory representation of the primary replica.
$primaryReplica = New-SqlAvailabilityReplica `
-Name "PrimaryComputer\Instance" `
-EndpointURL "TCP://PrimaryComputer.domain.com:5022" `
-AvailabilityMode "SynchronousCommit" `
-FailoverMode "Automatic" `
-Version 12 `
-AsTemplate
# Create an in-memory representation of the secondary replica.
$secondaryReplica = New-SqlAvailabilityReplica `
-Name "SecondaryComputer\Instance" `
-EndpointURL "TCP://SecondaryComputer.domain.com:5022" `
-AvailabilityMode "SynchronousCommit" `
-FailoverMode "Automatic" `
-Version 12 `
-AsTemplate
# Create the availability group
New-SqlAvailabilityGroup `
-Name "<myAvailabilityGroup>" `
-Path "SQLSERVER:\SQL\PrimaryComputer\Instance" `
-AvailabilityReplica @($primaryReplica,$secondaryReplica) `
-Database "<myDatabase>"
# Join the secondary replica to the availability group.
Join-SqlAvailabilityGroup -Path "SQLSERVER:\SQL\SecondaryComputer\Instance" -Name "<myAvailabilityGroup>"
# Join the secondary database to the availability group.
Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\SecondaryComputer\Instance\AvailabilityGroups\<myAvailabilityGroup>" -Database "<myDatabase>"
Tugas Terkait
Untuk mengonfigurasi instans server untuk Grup Ketersediaan AlwaysOn
Mengaktifkan dan Menonaktifkan Grup Ketersediaan AlwaysOn (SQL Server)
Membuat Titik Akhir Pencerminan Database untuk Grup Ketersediaan AlwaysOn (SQL Server PowerShell)
Untuk mengonfigurasi grup ketersediaan dan properti replika
Mengubah Mode Availability dari Replika Availability (SQL Server)
Mengubah Mode Failover dari Replika Ketersediaan (SQL Server)
Membuat atau Mengonfigurasi Listener Grup Ketersediaan (SQL Server)
Tentukan URL Titik Akhir Saat Menambahkan atau Memodifikasi Replika Ketersediaan (SQL Server)
Mengonfigurasi Pencadangan pada Replika Ketersediaan (SQL Server)
Mengonfigurasi Akses Baca-Saja pada Replika Ketersediaan (SQL Server)
Mengonfigurasi Perutean Baca-Saja untuk Grup Ketersediaan (SQL Server)
Mengubah Periode Waktu Habis Sesi untuk Replika Ketersediaan (SQL Server)
Untuk menyelesaikan konfigurasi grup ketersediaan
Menggabungkan Replika Sekunder ke Grup Ketersediaan (SQL Server)
Menyiapkan Database Sekunder secara Manual untuk Grup Ketersediaan (SQL Server)
Menggabungkan Database Sekunder ke Grup Ketersediaan (SQL Server)
Membuat atau Mengonfigurasi Listener Grup Ketersediaan (SQL Server)
Cara alternatif untuk membuat grup ketersediaan
Menggunakan Wizard Grup Ketersediaan (SQL Server Management Studio)
Gunakan Kotak Dialog Grup Ketersediaan Baru (SQL Server Management Studio)
Untuk memecahkan masalah konfigurasi Grup Ketersediaan AlwaysOn
Memecahkan Masalah Konfigurasi Grup Ketersediaan AlwaysOn (SQL Server)
Memecahkan Masalah Operasi Penambahan File yang Gagal (Grup Ketersediaan Always On)
Konten Terkait
Blog:
Always On - Seri Pembelajaran HADRON: Penggunaan Worker Pool untuk Database Berkemampuan HADRON
Mengonfigurasi Always On dengan SQL Server PowerShell
Blog Tim SQL Server Always On: blog resmi dari Tim SQL Server Always On
Laporan resmi:
Panduan Solusi AlwaysOn Microsoft SQL Server untuk Ketersediaan Tinggi dan Pemulihan Bencana
Lihat Juga
Titik Akhir Pencerminan Database (SQL Server)
Gambaran Umum Grup Ketersediaan AlwaysOn (SQL Server)