New-SqlHADREndpoint
在 SQL Server 實例上建立資料庫鏡像端點。
語法
New-SqlHADREndpoint
[-Port <Int32>]
[-Owner <String>]
[-Certificate <String>]
[-IpAddress <IPAddress>]
[-AuthenticationOrder <EndpointAuthenticationOrder>]
[-Encryption <EndpointEncryption>]
[-EncryptionAlgorithm <EndpointEncryptionAlgorithm>]
[-Name] <String>
[[-Path] <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-SqlHADREndpoint
[-Port <Int32>]
[-Owner <String>]
[-Certificate <String>]
[-IpAddress <IPAddress>]
[-AuthenticationOrder <EndpointAuthenticationOrder>]
[-Encryption <EndpointEncryption>]
[-EncryptionAlgorithm <EndpointEncryptionAlgorithm>]
[-Name] <String>
[-InputObject] <Server>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
New-SqlHADREndpoint Cmdlet 會在 SQL Server 實例上建立資料庫鏡像端點。 裝載任何可用性群組之可用性複本的每個伺服器實例都需要此端點。 每個伺服器實例只能有一個資料庫鏡像端點。 如果伺服器實例擁有資料庫鏡像端點,請使用現有的端點。
範例
範例 1:建立資料庫鏡像端點
PS C:\> New-SqlHADREndpoint -Path "SQLSERVER:\Sql\Computer\Instance" -Name "MainEndpoint"
此命令會在位於指定路徑的伺服器實例上,建立名為 MainEndpoint
的資料庫鏡像端點。 此端點會使用預設埠,5022
。
範例 2:建立需要加密的資料庫鏡像端點
PS C:\> New-SqlHADREndpoint -Path "SQLSERVER:\Sql\Computer\Instance" -Name "MainEndpoint" -Port 4022 -EncryptionAlgorithm Aes -Encryption Required
此命令會在位於指定路徑的伺服器實例上,建立名為 MainEndpoint
的資料庫鏡像端點。 此端點會接聽埠 4022
。
端點會使用 AES
演演算法進行加密,而且需要連線使用加密。
範例 3:建立使用憑證加密的資料庫鏡像端點
PS C:\> New-SqlHADREndpoint -Path "SQLSERVER:\Sql\Computer\Instance" -Name "MainEndpoint" -AuthenticationOrder Certificate -Certificate "EncryptionCertificate"
此命令會在位於指定路徑的伺服器實例上,建立名為 MainEndpoint
的資料庫鏡像端點。 此端點會使用名為 EncryptionCertificate
的憑證來驗證連線。
範例 4:建立資料庫鏡像端點腳本
PS C:\> New-SqlHADREndpoint -Path "SQLSERVER:\Sql\Computer\Instance" -Name "MainEndpoint" -Script
此命令會輸出 Transact-SQL 腳本,以在位於指定路徑的伺服器實例上建立名為 MainEndpoint
的資料庫鏡像端點。 這個命令實際上不會建立端點。
參數
-AccessToken
用來向 SQL Server 驗證的存取令牌,作為使用者/密碼或 Windows 驗證的替代方案。
例如,這可用來使用 Service Principal
或 Managed Identity
來連線到 SQL Azure DB
和 SQL Azure Managed Instance
。
要使用的參數可以是字串,表示令牌或 PSAccessToken
物件,如執行 Get-AzAccessToken -ResourceUrl https://database.windows.net
所傳回。
此參數是模組 v22 的新功能。
類型: | PSObject |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-AuthenticationOrder
指定端點所使用的驗證順序和類型。
如果指定的選項呼叫憑證,則必須設定 Certificate 參數。
類型: | EndpointAuthenticationOrder |
接受的值: | Ntlm, Kerberos, Negotiate, Certificate, NtlmCertificate, KerberosCertificate, NegotiateCertificate, CertificateNtlm, CertificateKerberos, CertificateNegotiate |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Certificate
指定端點將用來驗證連線的憑證名稱。 遠端點必須具有符合憑證私鑰的公鑰的憑證。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Encrypt
線上到 SQL Server 時要使用的加密類型。
此值會對應至 Microsoft.Data.SqlClient 驅動程式之 SqlConnection 物件上的 Encrypt
屬性 SqlConnectionEncryptOption
。
在模組的 v22 中,預設值為 Optional
(為了與 v21 相容)。 在模組的 v23+ 中,預設值會是 「強制」,這可能會為現有的腳本建立重大變更。
此參數是模組 v22 的新功能。
類型: | String |
接受的值: | Mandatory, Optional, Strict |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Encryption
指定端點的加密選項。
預設值為 Required
。
類型: | EndpointEncryption |
接受的值: | Disabled, Supported, Required |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-EncryptionAlgorithm
指定端點所使用的加密形式。
根據預設,端點會使用 Aes 加密。
注意:RC4 演算法僅支援回溯相容性。
當資料庫處於相容性層級 90 或 100 時,只能使用 RC4 或RC4_128來加密新數據,但不建議這麼做。 為了提高安全性,請改用較新的演算法,例如其中一個 AES
演算法。
類型: | EndpointEncryptionAlgorithm |
接受的值: | None, RC4, Aes, AesRC4, RC4Aes |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-HostNameInCertificate
用來驗證 SQL Server TLS/SSL 憑證的主機名。 如果您的 SQL Server 實例已啟用強制加密,而且您想要使用主機名/shortname 連線到實例,則必須傳遞此參數。 如果省略此參數,則必須將完整功能變數名稱 (FQDN) 傳遞至 -ServerInstance 才能連線到啟用強制加密的 SQL Server 實例。
此參數是模組 v22 的新功能。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-InputObject
指定建立端點之 SQL Server 實例的伺服器物件。
類型: | Server |
Position: | 2 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-IpAddress
指定端點的IP位址。 默認值為 ALL,表示接聽程式接受任何有效 IP 位址上的連線。
類型: | IPAddress |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Name
指定端點名稱。
類型: | String |
Position: | 1 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-Owner
指定端點擁有者的登入。 根據預設,這是目前的登入。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Path
指定端點之 SQL Server 實例的路徑。 如果未指定,則會使用目前的工作位置。
類型: | String |
Position: | 2 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Port
指定端點將接聽連線的 TCP 連接埠。
預設值為 5022
。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ProgressAction
決定 PowerShell 如何回應腳本、Cmdlet 或提供者所產生的進度更新,例如 Write-Progress Cmdlet 所產生的進度列。 Write-Progress Cmdlet 會建立顯示命令狀態的進度列。
類型: | ActionPreference |
別名: | proga |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Script
指出此 Cmdlet 會傳回執行工作的 Transact-SQL 腳本。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-TrustServerCertificate
指出通道是否會在略過憑證鏈結以驗證信任時加密。
在模組的 v22 中,預設值為 $true
(為了與 v21 相容)。 在模組的 v23+ 中,預設值會是 『$false』,這可能會為現有的腳本建立重大變更。
此參數是模組 v22 的新功能。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 Cmdlet 未執行。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
Microsoft.SqlServer.Management.Smo.Server
輸出
SMO.Endpoint