Complete-SqlColumnMasterKeyRotation
完成數據行主要金鑰的輪替。
Syntax
Complete-SqlColumnMasterKeyRotation
-SourceColumnMasterKeyName <String>
[-InputObject] <Database>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[<CommonParameters>]
Complete-SqlColumnMasterKeyRotation
-SourceColumnMasterKeyName <String>
[[-Path] <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[<CommonParameters>]
Description
Complete-SqlColumnMasterKeyRotation Cmdlet 會完成將現有數據行主要金鑰取代為 Always Encrypted 功能的新目標數據行主要金鑰的程式。
此 Cmdlet 會取得所有資料行加密金鑰物件,其中包含使用指定源資料行主要金鑰加密的加密金鑰值。
接著,Cmdlet 會更新每個資料行加密金鑰物件,以移除使用指定之數據行主要金鑰所產生的加密值專案。
因此,每個受影響的數據行加密密鑰物件只會有一個加密的值專案,使用輪替目標的數據行主要密鑰來產生。
Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.
範例
範例 1:完成輪替數據行主要密鑰的程式
PS C:\> Cleanup-SqlColumnMasterKey -SourceColumnMasterKeyName "CMK1"
此命令會完成輪替名為 CMK1 的數據行主要金鑰的程式。
參數
-AccessToken
用來驗證 SQL Server 的存取令牌,作為使用者/密碼或 Windows 驗證的替代方案。
例如,這可用來連線至 SQL Azure DB
或使用 或使用 SQL Azure Managed Instance
Service Principal
或 Managed Identity
。
要使用的參數可以是表示令牌的字串,或是 PSAccessToken
執行 Get-AzAccessToken -ResourceUrl https://database.windows.net
所傳回的物件。
這個參數是模組 v22 中的新功能。
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encrypt
連接到 SQL Server 時要使用的加密類型。
這個值會對應至 Encrypt
Microsoft.Data.SqlClient 驅動程式之 SqlConnection 物件上的 屬性 SqlConnectionEncryptOption
。
在模組的 v22 中,預設為 Optional
(,以便與 v21) 相容。 在模組 v23+ 中,預設值會是「強制」,這可能會為現有的腳本建立重大變更。
這個參數是模組 v22 中的新功能。
Type: | String |
Accepted values: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostNameInCertificate
用於驗證 SQL Server TLS/SSL 憑證的主機名稱。 如果您的 SQL Server 實例已啟用強制加密,而且您想要使用主機名/shortname 連線到實例,則必須傳遞此參數。 如果省略此參數,則必須將完整域名 (FQDN) 傳遞至 -ServerInstance,才能連線到啟用強制加密的 SQL Server 實例。
這個參數是模組 v22 中的新功能。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
指定這個 Cmdlet 執行作業的 SQL 資料庫物件。
Type: | Database |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
指定此 Cmdlet 執行作業的 SQL 資料庫路徑。 如果您未指定 參數的值,Cmdlet 會使用目前的工作位置。
Type: | String |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Script
表示此 Cmdlet 會執行腳本,以完成數據行主要密鑰的輪替。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SourceColumnMasterKeyName
指定源資料列主要金鑰的名稱。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TrustServerCertificate
指出通道是否會在略過憑證鏈結以驗證信任時加密。
在模組的 v22 中,預設為 $true
(,以便與 v21) 相容。 在模組 v23+ 中,預設值會是 『$false』,這可能會為現有的腳本建立重大變更。
這個參數是模組 v22 中的新功能。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
輸入
Microsoft.SqlServer.Management.Smo.Database
輸出
System.Object