New-SqlAvailabilityReplica
Membuat replika ketersediaan.
Sintaks
New-SqlAvailabilityReplica
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Name] <String>
[[-Path] <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-SqlAvailabilityReplica
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-AsTemplate]
[-Version <ServerVersion>]
[-Name] <String>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-SqlAvailabilityReplica
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Name] <String>
[-InputObject] <AvailabilityGroup>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Deskripsi
cmdlet New-SqlAvailabilityReplica membuat replika ketersediaan. Jalankan cmdlet ini pada instans SQL Server yang menghosting replika utama.
Untuk membuat replika ketersediaan sebelum Anda membuat grup ketersediaan, tentukan parameter
Contoh
Contoh 1: Membuat representasi replika ketersediaan
PS C:\> $ServerObject = Get-Item "SQLSERVER:\Sql\PrimaryServer\InstanceName"
PS C:\> New-SqlAvailabilityReplica -Name "PrimaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Automatic -AvailabilityMode SynchronousCommit -AsTemplate -Version $ServerObject.Version
Contoh ini membuat representasi dalam memori dari replika ketersediaan. Tidak ada perubahan yang diterapkan pada server. Anda dapat menggunakan replika ini sebagai nilai untuk parameter
Perintah pertama mendapatkan instans server utama.
Perintah kedua membuat replika ketersediaan. Replika ini menggunakan titik akhir pencerminan database yang terletak di URL yang ditentukan untuk berkomunikasi dengan replika lain dalam grup ketersediaan. Replika ini mendukung failover otomatis dan mode ketersediaan penerapan sinkron.
Parameter Versi
Contoh 2: Membuat replika ketersediaan yang mendukung failover manual dan asinkroncommit
PS C:\> $ServerObject = Get-Item "SQLSERVER:\Sql\PrimaryServer\InstanceName"
PS C:\> New-SqlAvailabilityReplica -Name "SecondaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Manual -AvailabilityMode AsynchronousCommit -AsTemplate -Version $ServerObject.Version
Contoh ini membuat representasi dalam memori dari replika ketersediaan. Tidak ada perubahan yang diterapkan pada server.
Perintah pertama mendapatkan instans server utama.
Perintah kedua membuat replika ketersediaan. Replika ini menggunakan titik akhir pencerminan database yang terletak di URL yang ditentukan untuk berkomunikasi dengan replika lain dalam grup ketersediaan. Replika ini mendukung failover manual dan mode ketersediaan penerapan asinkron.
Parameter Versi
Contoh 3: Menambahkan replika ketersediaan ke grup ketersediaan
PS C:\> New-SqlAvailabilityReplica -Name "SecondaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Manual -AvailabilityMode AsynchronousCommit -ConnectionModeInSecondaryRole AllowAllConnections -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG"
Perintah ini menambahkan replika ketersediaan ke grup ketersediaan yang ada bernama 'MainAG'. Replika ini mendukung failover manual dan mode ketersediaan penerapan asinkron. Dalam peran sekunder, replika ini mendukung koneksi akses baca. Konfigurasi ini memungkinkan Anda membongkar pemrosesan baca-saja ke replika ini.
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 |
-AsTemplate
Menunjukkan bahwa cmdlet ini membuat objek AvailabilityReplica sementara dalam memori.
Tentukan parameter ini untuk membuat grup ketersediaan sebelum Anda membuat replika ketersediaan.
Buat grup ketersediaan dengan menggunakan cmdlet New-SqlAvailabilityGroup.
Tentukan replika ketersediaan sementara sebagai nilai parameter
Jika Anda menentukan
Jika Anda menentukan parameter ini, Anda juga harus menentukan versi SQL Server untuk parameter Versi
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-AvailabilityMode
Menentukan mode ketersediaan replika.
Anda dapat menentukan nilai $Null.
Jenis: | AvailabilityReplicaAvailabilityMode |
Nilai yang diterima: | AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | False |
-BackupPriority
Menentukan prioritas replika yang diinginkan dalam melakukan pencadangan. Nilai yang dapat diterima untuk parameter ini adalah bilangan bulat dari 0 hingga 100. Dari set replika yang online dan tersedia, replika yang memiliki prioritas tertinggi melakukan pencadangan.
Jenis: | Int32 |
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 |
-ConnectionModeInPrimaryRole
Menentukan bagaimana replika ketersediaan menangani koneksi saat berada dalam peran utama.
Nilai yang dapat diterima untuk parameter ini adalah:
- AllowReadWriteConnections. Mengizinkan koneksi baca/tulis
- AllowAllConnections. Perbolehkan semua koneksi
Jenis: | AvailabilityReplicaConnectionModeInPrimaryRole |
Nilai yang diterima: | AllowAllConnections, AllowReadWriteConnections, Unknown |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ConnectionModeInSecondaryRole
Menentukan bagaimana replika ketersediaan menangani koneksi saat berada dalam peran sekunder. Nilai yang dapat diterima untuk parameter ini adalah:
- AllowNoConnections. Melarang koneksi
- AllowReadIntentConnectionsOnly. Hanya memperbolehkan koneksi baca-niat
- AllowAllConnections. Perbolehkan semua koneksi
Jenis: | AvailabilityReplicaConnectionModeInSecondaryRole |
Nilai yang diterima: | AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
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 |
-EndpointUrl
Menentukan URL titik akhir pencerminan database. URL ini adalah alamat TCP dalam formulir berikut:
TCP://system-address:port
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | False |
-FailoverMode
Menentukan mode failover.
Anda dapat menentukan nilai $Null
Jenis: | AvailabilityReplicaFailoverMode |
Nilai yang diterima: | Automatic, Manual, External, Unknown |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
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
Jenis: | AvailabilityGroup |
Position: | 2 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-LoadBalancedReadOnlyRoutingList
Menentukan daftar perutean baca-saja yang seimbang.
Daftar perutean adalah daftar set seimbang beban, yang pada gilirannya adalah daftar replika.
Misalnya, meneruskan nilai seperti
@('Server1','Server2'),@('Server3'),@('Server4')
berarti apa yang kita lewati 3 set seimbang beban: 1 dengan 2 replika (Server1 dan Server2) dan 2 hanya dengan satu (Server3 dan Server4, masing-masing).
Pada runtime, SQL Server akan terlihat secara berurutan di semua set yang seimbang beban sampai menemukan satu skema sehingga setidaknya pada replika di dalamnya tersedia dan menggunakannya untuk penyeimbangan beban.
Jadi, dalam contoh di atas, jika Server1 dan Server2 tidak tersedia, tetapi Server3 adalah, SQL Server akan memilih Server3.
Cmdlet ini hanya mengatur daftar perutean baca-saja dan tidak memeriksa ketersediaan replika yang ditentukan.
Jenis: | String[][] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Name
Menentukan nama untuk replika ketersediaan dalam format berikut: Computer\Instance
Jenis: | String |
Position: | 1 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Path
Menentukan jalur grup ketersediaan tempat replika berada. Jika Anda tidak menentukan parameter ini, cmdlet ini menggunakan lokasi kerja saat ini.
Jenis: | String |
Position: | 2 |
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 |
-ReadonlyRoutingConnectionUrl
Menentukan nama domain yang sepenuhnya memenuhi syarat (FQDN) dan port yang akan digunakan saat perutean ke replika untuk koneksi baca saja, seperti dalam contoh berikut: TCP://DBSERVER8.manufacturing.Contoso.com:7024
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ReadOnlyRoutingList
Menentukan daftar nama server replika yang diurutkan yang mewakili urutan pemeriksaan untuk digunakan oleh direktur koneksi saat mengalihkan koneksi baca-saja melalui replika ketersediaan ini. Parameter ini berlaku jika replika ketersediaan adalah replika utama grup ketersediaan saat ini.
Jenis: | String[] |
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 |
-SeedingMode
Menentukan bagaimana replika sekunder awalnya akan disemai.
Nilai yang diizinkan:
- Otomatis. Mengaktifkan seeding langsung. Metode ini akan menyemai replika sekunder melalui jaringan. Metode ini tidak mengharuskan Anda untuk mencadangkan dan memulihkan salinan database utama pada replika.
- Manual. Menentukan seeding manual. Metode ini mengharuskan Anda membuat cadangan database pada replika utama dan memulihkan cadangan tersebut secara manual pada replika sekunder.
Jenis: | AvailabilityReplicaSeedingMode |
Nilai yang diterima: | Automatic, Manual |
Position: | Named |
Nilai default: | Manual |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-SessionTimeout
Menentukan jumlah waktu, dalam detik, untuk menunggu respons antara replika utama dan replika ini sebelum koneksi gagal.
Jenis: | Int32 |
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 |
-Version
Menentukan versi SQL Server. Jika Anda menentukan parameter
- 14
- '14.0.0'
Jenis: | ServerVersion |
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
Microsoft.SqlServer.Management.Smo.AvailabilityGroup
Anda dapat meneruskan grup ketersediaan ke cmdlet ini.
Output
Microsoft.SqlServer.Management.Smo.AvailabilityReplica
Cmdlet ini mengembalikan replika ketersediaan.