Membuat grup ketersediaan AlwaysOn menggunakan PowerShell
Berlaku untuk: SQL Server
Topik ini menjelaskan cara menggunakan cmdlet PowerShell untuk membuat dan mengonfigurasi grup ketersediaan AlwaysOn dengan menggunakan PowerShell di SQL Server. Grup ketersediaan mendefinisikan sekumpulan database pengguna yang akan gagal sebagai satu unit dan 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 dan izin BUAT server GRUP KETERSEDIAAN, UBAH izin GRUP KETERSEDIAAN APA PUN, atau izin SERVER KONTROL.
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 titik akhir 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. |
Bergabunglah dengan 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.
Ubah direktori (cd) ke instans server yaitu menghosting replika utama.
Buat objek replika ketersediaan dalam memori untuk replika utama.
Buat objek replika ketersediaan dalam 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 dari database utama, menggunakan RESTORE WITH NORECOVERY.
Bergabunglah dengan setiap database sekunder baru ke grup ketersediaan, lihat Bergabung dengan Replika Sekunder ke Grup Ketersediaan (SQL Server).
(opsional) Gunakan perintah Windows dir untuk memverifikasi konten grup ketersediaan baru.
Catatan
Jika akun layanan SQL Server instans server berjalan di bawah akun pengguna domain yang berbeda, pada setiap instans server, buat login untuk instans server lain dan berikan izin CONNECT masuk ini ke titik akhir 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.<myDatabase>
Memulihkan 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 Ketersediaan 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 Add-File yang Gagal (Grup Ketersediaan AlwaysOn)
Konten Terkait
Blog:
Mengonfigurasi Always On dengan SQL Server PowerShell
Blog SQL Server Always On Team: Blog Resmi SQL Server Always On Team
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)