Add-SqlAvailabilityDatabase
Menambahkan database utama ke grup ketersediaan atau menggabungkan database sekunder ke grup ketersediaan.
Sintaks
Add-SqlAvailabilityDatabase
-Database <String[]>
[[-Path] <String[]>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Add-SqlAvailabilityDatabase
-Database <String[]>
[-InputObject] <AvailabilityGroup[]>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Deskripsi
cmdlet Add-SqlAvailabilityDatabase menambahkan database utama ke grup ketersediaan atau menggabungkan database sekunder ke grup ketersediaan. Parameter InputObject atau Path menentukan grup ketersediaan. Database hanya dapat termasuk dalam satu grup ketersediaan.
Untuk menambahkan database ke grup ketersediaan, jalankan cmdlet ini pada instans server yang menghosting replika utama. Tentukan satu atau beberapa database pengguna lokal.
Untuk menggabungkan database sekunder ke grup ketersediaan, siapkan database sekunder secara manual pada instans server yang menghosting replika sekunder. Kemudian jalankan cmdlet ini pada instans server yang menghosting replika sekunder.
Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.
Contoh
Contoh 1: Menambahkan database ke grup ketersediaan
PS C:\> Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -Database "Database16"
Perintah ini menambahkan database 'Database16' ke grup ketersediaan 'MainAG'. Jalankan perintah ini pada instans server utama grup ketersediaan. Perintah ini tidak menyiapkan database sekunder untuk sinkronisasi data.
Contoh 2: Menggabungkan database ke grup ketersediaan
PS C:\> Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -Database "Database16"
Perintah ini menggabungkan database sekunder bernama 'Database16' ke grup ketersediaan 'MainAG' pada salah satu instans server yang menghosting replika sekunder.
Contoh 3: Menambahkan database dan menggabungkan database sekunder ke grup ketersediaan
PS C:\> $DatabaseBackupFile = "\\share\backups\Database16.bak"
PS C:\> $LogBackupFile = "\\share\backups\Database16.trn"
PS C:\> $AGPrimaryPath = "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MainAG"
PS C:\> $MyAGSecondaryPath = "SQLSERVER:\SQL\SecondaryServer\InstanceName\AvailabilityGroups\MainAG"
PS C:\> Backup-SqlDatabase -Database "Database16" -BackupFile $DatabaseBackupFile -ServerInstance "PrimaryServer\InstanceName"
PS C:\> Backup-SqlDatabase -Database "Database16" -BackupFile $LogBackupFile -ServerInstance "PrimaryServer\InstanceName" -BackupAction Log
PS C:\> Restore-SqlDatabase -Database "Database16" -BackupFile $DatabaseBackupFile -ServerInstance "SecondaryServer\InstanceName" -NoRecovery
PS C:\> Restore-SqlDatabase -Database "Database16" -BackupFile $LogBackupFile -ServerInstance "SecondaryServer\InstanceName" -RestoreAction Log -NoRecovery
PS C:\> Add-SqlAvailabilityDatabase -Path $AGPrimaryPath -Database 'Database16'
PS C:\> Add-SqlAvailabilityDatabase -Path $AGSecondaryPath -Database "Database16"
Contoh ini menyiapkan database sekunder dari database pada instans server yang menghosting replika utama grup ketersediaan. Ini menambahkan database ke grup ketersediaan sebagai database utama. Terakhir, database sekunder bergabung dengan grup ketersediaan.
Perintah keenam mencadangkan file log untuk 'Database16' di server utama ke lokasi di $LogBackupFile.
Contoh 4: Membuat skrip untuk menambahkan database ke grup ketersediaan
PS C:\> Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -Database "Database16" -Script
Perintah ini membuat skrip Transact-SQL yang menambahkan database 'Database16' ke grup ketersediaan 'MainAG'.
Parameter
-AccessToken
Token akses yang digunakan untuk mengautentikasi ke SQL Server, sebagai alternatif untuk pengguna/kata sandi atau Autentikasi Windows.
Ini dapat digunakan, misalnya, untuk menyambungkan ke SQL Azure DB
dan SQL Azure Managed Instance
menggunakan Service Principal
atau Managed Identity
.
Parameter yang digunakan dapat berupa string yang mewakili token atau objek PSAccessToken
seperti yang dikembalikan dengan menjalankan Get-AzAccessToken -ResourceUrl https://database.windows.net
.
Parameter ini baru dalam v22 modul.
Jenis: | PSObject |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Confirm
Meminta konfirmasi sebelum menjalankan cmdlet.
Jenis: | SwitchParameter |
Alias: | cf |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Database
Menentukan array database pengguna. Cmdlet ini menambahkan atau menggabungkan database yang ditentukan parameter ini ke grup ketersediaan. Database yang Anda tentukan harus berada di instans lokal SQL Server.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Encrypt
Jenis enkripsi yang akan digunakan saat menyambungkan ke SQL Server.
Nilai ini memetakan ke properti Encrypt
SqlConnectionEncryptOption
pada objek SqlConnection driver Microsoft.Data.SqlClient.
Dalam v22 modul, defaultnya adalah Optional
(untuk kompatibilitas dengan v21). Dalam v23+ modul, nilai defaultnya adalah 'Wajib', yang dapat membuat perubahan yang melanggar untuk skrip yang ada.
Parameter ini baru dalam v22 modul.
Jenis: | String |
Nilai yang diterima: | Mandatory, Optional, Strict |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-HostNameInCertificate
Nama host yang akan digunakan dalam memvalidasi sertifikat SQL Server TLS/SSL. Anda harus meneruskan parameter ini jika instans SQL Server Anda diaktifkan untuk Enkripsi Paksa dan Anda ingin terhubung ke instans menggunakan nama host/nama pendek. Jika parameter ini dihilangkan, maka meneruskan Nama Domain yang Sepenuhnya Memenuhi Syarat (FQDN) ke -ServerInstance diperlukan untuk terhubung ke instans SQL Server yang diaktifkan untuk Enkripsi Paksa.
Parameter ini baru dalam v22 modul.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-InputObject
Menentukan grup ketersediaan, sebagai objek AvailabilityGroup, tempat cmdlet ini menambahkan atau menggabungkan database.
Jenis: | AvailabilityGroup[] |
Position: | 1 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Path
Menentukan jalur grup ketersediaan tempat cmdlet ini menambahkan atau menggabungkan database. Jika Anda tidak menentukan parameter ini, cmdlet ini menggunakan lokasi kerja saat ini.
Jenis: | String[] |
Position: | 1 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ProgressAction
Menentukan bagaimana PowerShell merespons pembaruan kemajuan yang dihasilkan oleh skrip, cmdlet, atau penyedia, seperti bilah kemajuan yang dihasilkan oleh cmdlet Write-Progress. cmdlet Write-Progress membuat bilah kemajuan yang memperlihatkan status perintah.
Jenis: | ActionPreference |
Alias: | proga |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Script
Menunjukkan bahwa cmdlet ini mengembalikan skrip Transact-SQL yang melakukan tugas yang dilakukan cmdlet ini.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-TrustServerCertificate
Menunjukkan apakah saluran akan dienkripsi saat melewati rantai sertifikat untuk memvalidasi kepercayaan.
Dalam v22 modul, defaultnya adalah $true
(untuk kompatibilitas dengan v21). Dalam v23+ modul, nilai defaultnya adalah '$false', yang dapat membuat perubahan yang melanggar untuk skrip yang ada.
Parameter ini baru dalam v22 modul.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-WhatIf
Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.
Jenis: | SwitchParameter |
Alias: | wi |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
System.String[], Microsoft.SqlServer.Management.Smo.AvailabilityGroup[]
Output
System.Object