Bagikan melalui


Set-SqlAvailabilityGroup

Mengatur pengaturan pada grup ketersediaan.

Sintaks

ByPath (Default)

Set-SqlAvailabilityGroup
    [[-Path] <String>]
    [-AutomatedBackupPreference <AvailabilityGroupAutomatedBackupPreference>]
    [-FailureConditionLevel <AvailabilityGroupFailureConditionLevel>]
    [-HealthCheckTimeout <Int32>]
    [-DatabaseHealthTrigger <Boolean>]
    [-RequiredSynchronizedSecondariesToCommit <Int32>]
    [-Script]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByObject

Set-SqlAvailabilityGroup
    [-InputObject] <AvailabilityGroup>
    [-AutomatedBackupPreference <AvailabilityGroupAutomatedBackupPreference>]
    [-FailureConditionLevel <AvailabilityGroupFailureConditionLevel>]
    [-HealthCheckTimeout <Int32>]
    [-DatabaseHealthTrigger <Boolean>]
    [-RequiredSynchronizedSecondariesToCommit <Int32>]
    [-Script]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Deskripsi

Cmdlet Set-SqlAvailabilityGroup memodifikasi pengaturan pada grup ketersediaan yang ada di Grup Ketersediaan AlwaysOn. Anda dapat mengubah preferensi pencadangan otomatis, tingkat kondisi kegagalan, dan batas waktu pemeriksaan kesehatan. Anda harus menjalankan cmdlet ini pada instans server yang menghosting replika utama.

Contoh

Contoh 1: Mengubah periode batas waktu pemeriksaan kesehatan

PS C:\> Set-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MAinAG" -HealthCheckTimeout 120000

Perintah ini mengubah properti batas waktu pemeriksaan kesehatan pada grup ketersediaan bernama MainAG menjadi 120 detik, atau dua menit. Jika failover otomatis diaktifkan, setelah durasi waktu ini, Grup Ketersediaan AlwaysOn memulai failover otomatis akan dimulai.

Contoh 2: Ubah preferensi pencadangan otomatis

PS C:\> Set-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -AutomatedBackupPreference SecondaryOnly

Perintah ini mengubah preferensi pencadangan otomatis pada grup ketersediaan bernama MainAG menjadi SecondaryOnly. Pencadangan otomatis database dalam grup ketersediaan ini tidak terjadi pada replika utama. Sebaliknya, pencadangan otomatis terjadi pada replika sekunder yang memiliki prioritas cadangan tertinggi.

Contoh 3: Mengubah tingkat kondisi kegagalan

PS C:\> Set-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -FailureConditionLevel OnServerDown

Perintah ini mengubah tingkat kondisi kegagalan pada grup ketersediaan bernama MainAG menjadi OnServerDown. Jika instans server yang menghosting replika utama offline dan jika failover otomatis diaktifkan, Grup Ketersediaan AlwaysOn memulai failover otomatis.

Contoh 4: Ubah jumlah sekunder 'SYNCHRONOUS_COMMIT' yang harus tersedia agar transaksi diterapkan pada primer

# Get server and AG
PS C:\> CD 'SQLSERVER:\SQL\some-hostname\Default'
PS SQLSERVER:\SQL\some-hostname\Default> $server = Get-Item $PWD
PS SQLSERVER:\SQL\some-hostname\Default> $ag = $server.AvailabilityGroups[0]
# Alter AG with RequiredCopiesToCommit = 4
PS SQLSERVER:\SQL\some-hostname\Default> $ag | Set-SqlAvailabilityGroup -RequiredSynchronizedSecondariesToCommit 4

Note: an exception will be thrown if the -RequiredSynchronizedSecondariesToCommit parameter is used when
the target server version is SQL Server 2016 or lower.

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 seperti yang PSAccessToken dikembalikan dengan menjalankan Get-AzAccessToken -ResourceUrl https://database.windows.net.

Parameter ini baru dalam v22 modul.

Properti parameter

Jenis:PSObject
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-AutomatedBackupPreference

Menentukan preferensi pencadangan otomatis untuk grup ketersediaan. Nilai yang dapat diterima untuk parameter ini adalah:

  • Utama. Menentukan bahwa cadangan selalu terjadi pada replika utama. Opsi ini mendukung penggunaan fitur yang tidak tersedia saat pencadangan berjalan pada replika sekunder, seperti cadangan diferensial.
  • SecondaryOnly. Menentukan bahwa cadangan tidak pernah dilakukan pada replika utama. Jika replika utama adalah satu-satunya replika online, pencadangan tidak terjadi.
  • Sekunder. Menentukan bahwa pencadangan terjadi pada replika sekunder, kecuali replika utama adalah satu-satunya replika online. Kemudian pencadangan terjadi pada replika utama.
  • Tidak ada. Menentukan bahwa status primer atau sekunder tidak diperhitungkan saat memutuskan replika mana yang melakukan pencadangan. Sebagai gantinya, prioritas pencadangan dan status online menentukan replika mana yang melakukan pencadangan.

Properti parameter

Jenis:AvailabilityGroupAutomatedBackupPreference
Nilai default:None
Nilai yang diterima:Primary, SecondaryOnly, Secondary, None, Unknown
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Confirm

Meminta konfirmasi sebelum menjalankan cmdlet.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:Cf

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-DatabaseHealthTrigger

Menentukan apakah akan memicu failover otomatis grup ketersediaan jika ada replika database pengguna dalam grup ketersediaan yang mengalami kondisi kegagalan database.

Properti parameter

Jenis:Boolean
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Encrypt

Jenis enkripsi yang akan digunakan saat menyambungkan ke SQL Server.

Nilai ini memetakan ke Encrypt properti SqlConnectionEncryptOption pada objek SqlConnection dari 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.

Properti parameter

Jenis:String
Nilai default:None
Nilai yang diterima:Mandatory, Optional, Strict
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-FailureConditionLevel

Menentukan perilaku failover otomatis dari grup ketersediaan. Nilai yang dapat diterima untuk parameter ini adalah:

  • OnServerDown. Failover atau mulai ulang jika layanan SQL Server berhenti.
  • OnServerUnresponsive. Failover atau mulai ulang jika ada kondisi nilai yang lebih rendah terpenuhi, ditambah ketika layanan SQL Server terhubung ke kluster dan ambang batas HealthCheckTimeout terlampaui, atau jika replika ketersediaan yang saat ini berada dalam peran utama dalam status gagal.
  • OnCriticalServerError. Failover atau mulai ulang jika ada kondisi nilai yang lebih rendah terpenuhi, ditambah ketika kesalahan server penting internal terjadi, yang mencakup kondisi memori, pelanggaran akses tulis yang serius, atau terlalu banyak pembuangan.
  • OnModerateServerError. Failover atau mulai ulang jika ada kondisi nilai yang lebih rendah terpenuhi, ditambah jika terjadi kesalahan Server sedang, wich menyertakan kondisi memori yang persisten.
  • OnAnyQualifiedFailureConditions. Failover atau mulai ulang jika ada kondisi nilai yang lebih rendah terpenuhi, ditambah jika kondisi kegagalan yang memenuhi syarat terjadi, yang mencakup kelelahan utas pekerja mesin dan kebuntuan yang tidak terselesaikan terdeteksi.

Properti parameter

Jenis:AvailabilityGroupFailureConditionLevel
Nilai default:None
Nilai yang diterima:OnServerDown, OnServerUnresponsive, OnCriticalServerErrors, OnModerateServerErrors, OnAnyQualifiedFailureCondition, Unknown
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-HealthCheckTimeout

Menentukan lamanya waktu, dalam milidetik, setelah itu Grup Ketersediaan AlwaysOn menyatakan server yang tidak responsif tidak sehat.

Properti parameter

Jenis:Int32
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-InputObject

Menentukan grup ketersediaan, sebagai objek AvailabilityGroup, yang dimodifikasi cmdlet ini.

Properti parameter

Jenis:AvailabilityGroup
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

ByObject
Position:1
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Path

Menentukan jalur database ketersediaan yang dimodifikasi cmdlet. Jika Anda tidak menentukan parameter ini, cmdlet ini menggunakan lokasi kerja saat ini.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

ByPath
Position:1
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-RequiredSynchronizedSecondariesToCommit

Jumlah sekunder penerapan sinkron yang harus tersedia untuk dapat diterapkan pada primer.

Jika sekunder SYNCHRONOUS_COMMIT terputus dari primer selama beberapa waktu, primer menurunkannya untuk ASYNCHRONOUS_COMMIT menghindari pemblokiran penerapan. Jika primer kemudian menjadi tidak tersedia dan pengguna ingin melakukan failover ke salah satu sekunder ini, mereka mungkin mengalami kehilangan data. Dengan mengatur RequiredSynchronizedSecondariesToCommit ke beberapa angka, pengguna dapat mencegah kehilangan data karena primer akan mulai memblokir penerapan jika terlalu banyak sekunder diturunkan ke ASYNCHRONOUS_COMMIT.

Nilai default pengaturan ini adalah 0, yang berarti primer tidak akan pernah memblokir penerapan. Ini identik dengan perilaku sebelum SQL Server 2017.

Properti parameter

Jenis:Int32
Nilai default:0
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Script

Menunjukkan bahwa cmdlet ini mengembalikan skrip Transact-SQL yang melakukan tugas yang dilakukan cmdlet ini.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-WhatIf

Menunjukkan apa yang akan terjadi ketika cmdlet dijalankan. Cmdlet tidak dijalankan.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:wi

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

Input

Microsoft.SqlServer.Management.Smo.AvailabilityGroup