Dela via


ALTER MASTER KEY (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-databas i Förhandsversion av Microsoft Fabric

Ändrar egenskaperna för en databashuvudnyckel.

Transact-SQL syntaxkonventioner

Syntax

Syntax för SQL Server

-- Syntax for SQL Server
ALTER MASTER KEY <alter_option>

<alter_option> ::=
    <regenerate_option> | <encryption_option>

<regenerate_option> ::=
    [ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD = 'password'

<encryption_option> ::=
    ADD ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }
    |
    DROP ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }

Syntax för Azure SQL Database och SQL Database i Förhandsversion av Microsoft Fabric

-- Syntax for Azure SQL Database
-- Note: DROP ENCRYPTION BY SERVICE MASTER KEY is not supported on Azure SQL Database.

ALTER MASTER KEY <alter_option>

<alter_option> ::=
    <regenerate_option> | <encryption_option>

<regenerate_option> ::=
    [ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD = 'password'

<encryption_option> ::=
    ADD ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }
    |
    DROP ENCRYPTION BY { PASSWORD = 'password' }

Syntax för Azure Synapse Analytics and Analytics Platform System (PDW)

-- Syntax for Azure Synapse Analytics and Analytics Platform System

ALTER MASTER KEY <alter_option>

<alter_option> ::=
    <regenerate_option> | <encryption_option>

<regenerate_option> ::=
    [ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD ='password'

<encryption_option> ::=
    ADD ENCRYPTION BY SERVICE MASTER KEY
    |
    DROP ENCRYPTION BY SERVICE MASTER KEY

Arguments

PASSWORD ='password'

Anger ett lösenord som databashuvudnyckeln ska krypteras eller dekrypteras med. lösenordet måste uppfylla kraven för Windows-lösenordsprinciper för den dator som kör instansen av SQL Server.

Remarks

Alternativet REGENERATE återskapar databashuvudnyckeln och alla nycklar som den skyddar. Nycklarna dekrypteras först med den gamla huvudnyckeln och krypteras sedan med den nya huvudnyckeln. Den här resursintensiva åtgärden bör schemaläggas under en period med låg efterfrågan, såvida inte huvudnyckeln komprometteras.

SQL Server 2012 (11.x) använder AES-krypteringsalgoritmen för att skydda tjänstens huvudnyckel (SMK) och databashuvudnyckeln (DMK). AES är en nyare krypteringsalgoritm än 3DES som används i tidigare versioner. När du har uppgraderat en instans av databasmotorn till SQL Server 2012 (11.x) bör SMK och DMK återskapas för att uppgradera huvudnycklarna till AES. Mer information om hur du återskapar SMK finns i ALTER SERVICE MASTER KEY (ÄNDRA HUVUDnyckel för TJÄNSTEN).

När force-alternativet används fortsätter nyckelregenereringen även om huvudnyckeln inte är tillgänglig eller om servern inte kan dekryptera alla krypterade privata nycklar. Om huvudnyckeln inte kan öppnas använder du instruktionen RESTORE MASTER KEY för att återställa huvudnyckeln från en säkerhetskopia. Använd endast FORCE-alternativet om huvudnyckeln är oåterkallelig eller om dekrypteringen misslyckas. Information som endast krypteras av en oåterkallelig nyckel går förlorad.

Alternativet DROP ENCRYPTION BY SERVICE MASTER KEY tar bort krypteringen av databashuvudnyckeln med tjänstens huvudnyckel.

DROP ENCRYPTION BY SERVICE MASTER KEY stöds inte i Azure SQL Database.

LÄGG TILL KRYPTERING EFTER TJÄNSTHUVUDNYCKEL gör att en kopia av huvudnyckeln krypteras med hjälp av tjänsthuvudnyckeln och lagras i både den aktuella databasen och i huvuddatabasen.

Permissions

Kräver KONTROLL-behörighet för databasen. Om databashuvudnyckeln krypteras med ett lösenord krävs även kunskap om lösenordet.

Examples

I följande exempel skapas en ny databashuvudnyckel för AdventureWorks och dekrypterar nycklarna under den igen i krypteringshierarkin. Ersätt <secure password> med ett starkt, unikt lösenord.

USE AdventureWorks2022;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = '<secure password>';
GO

Exempel: Azure Synapse Analytics and Analytics Platform System (PDW)

I följande exempel skapas en ny huvudnyckel för databasen och AdventureWorksPDW2012 nycklarna under den krypteras på nytt i krypteringshierarkin. Ersätt <secure password> med ett starkt, unikt lösenord.

USE master;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = '<secure password>';
GO