Switch-SqlAvailabilityGroup
Memulai failover grup ketersediaan ke replika sekunder.
Sintaks
Switch-SqlAvailabilityGroup
[-AllowDataLoss]
[-Force]
[[-Path] <String[]>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Switch-SqlAvailabilityGroup
[-AllowDataLoss]
[-Force]
[-InputObject] <AvailabilityGroup[]>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Deskripsi
Cmdlet Switch-SqlAvailabilityGroup memulai failover grup ketersediaan ke replika sekunder tertentu. Jalankan cmdlet ini pada replika sekunder target. Setelah failover, replika sekunder menjadi replika utama.
Contoh
Contoh 1: Failover grup ketersediaan
PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG"
Perintah ini melakukan failover manual grup MainAG
ketersediaan ke instans server bernama SecondaryServer\InstanceName
.
Perintah ini tidak memperbolehkan kehilangan data.
Jalankan perintah ini pada instans server yang menghosting replika sekunder yang akan di-failover.
Contoh 2: Memaksa grup ketersediaan untuk melakukan failover
PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -AllowDataLoss
Perintah ini melakukan failover manual grup MainAG
ketersediaan ke instans server bernama SecondaryServer\InstanceName
.
Perintah menentukan parameter AllowDataLoss .
Oleh karena itu, failover memiliki potensi kehilangan data, dan perintah meminta konfirmasi kepada Anda.
Tentukan parameter Paksa untuk melewati konfirmasi.
Contoh 3: Membuat skrip untuk melakukan failover pada grup ketersediaan
PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -Script
Perintah ini membuat skrip Transact-SQL yang melakukan failover manual grup MainAG
ketersediaan ke instans server bernama SecondaryServer\InstanceName
.
Skrip tidak mengizinkan kehilangan data. Perintah tidak menyebabkan failover.
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 terhubung ke SQL Azure DB
dan SQL Azure Managed Instance
menggunakan Service Principal
atau Managed Identity
.
Parameter yang akan digunakan dapat berupa string yang mewakili token atau objek seperti yang PSAccessToken
dikembalikan dengan menjalankan Get-AzAccessToken -ResourceUrl https://database.windows.net
.
Parameter ini baru dalam v22 modul.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowDataLoss
Menunjukkan bahwa cmdlet ini memulai failover paksa ke replika sekunder target. Kehilangan data dimungkinkan. Kecuali Anda menentukan parameter Paksa atau Skrip , cmdlet meminta konfirmasi kepada Anda.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encrypt
Jenis enkripsi yang digunakan saat menyambungkan ke SQL Server.
Nilai ini memetakan ke Encrypt
properti 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.
Type: | String |
Accepted values: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Memaksa perintah untuk berjalan tanpa meminta konfirmasi pengguna. Cmdlet ini meminta konfirmasi hanya jika Anda menentukan parameter AllowDataLoss .
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostNameInCertificate
Nama host yang akan digunakan dalam memvalidasi sertifikat TLS/SSL SQL Server. 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.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Menentukan grup ketersediaan yang gagal di cmdlet ini.
Type: | AvailabilityGroup[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Menentukan jalur grup ketersediaan yang gagal di cmdlet ini. Jika Anda tidak menentukan parameter ini, cmdlet ini menggunakan lokasi kerja saat ini.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Script
Menunjukkan bahwa cmdlet ini mengembalikan skrip Transact-SQL yang melakukan tugas yang dilakukan cmdlet ini.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Menunjukkan yang akan terjadi jika cmdlet dijalankan. Cmdlet tidak dijalankan.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
Microsoft.SqlServer.Management.Smo.AvailabilityGroup[]
Anda dapat meneruskan grup ketersediaan ke cmdlet ini.