Delen via


ALTER MASTER KEY (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-database in Microsoft Fabric Preview

Hiermee wijzigt u de eigenschappen van een databasehoofdsleutel.

Transact-SQL syntaxis-conventies

Syntax

Syntaxis voor 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' }

Syntaxis voor Azure SQL Database en SQL-database in Microsoft Fabric Preview

-- 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' }

Syntaxis voor Azure Synapse Analytics en 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'

Hiermee geeft u een wachtwoord waarmee de hoofdsleutel van de database moet worden versleuteld of ontsleuteld. het wachtwoord moet voldoen aan de windows-wachtwoordbeleidsvereisten van de computer waarop het exemplaar van SQL Server wordt uitgevoerd.

Remarks

Met de optie OPNIEUW GENEREREN maakt u de hoofdsleutel van de database en alle sleutels die worden beveiligd. De sleutels worden eerst ontsleuteld met de oude hoofdsleutel en vervolgens versleuteld met de nieuwe hoofdsleutel. Deze resource-intensieve bewerking moet worden gepland tijdens een periode van lage vraag, tenzij de hoofdsleutel is aangetast.

SQL Server 2012 (11.x) maakt gebruik van het AES-versleutelingsalgoritmen om de servicehoofdsleutel (SMK) en de databasehoofdsleutel (DMK) te beveiligen. AES is een nieuwere versleutelingsalgoritmen dan 3DES die in eerdere versies worden gebruikt. Na een upgrade van een exemplaar van de database-engine naar SQL Server 2012 (11.x) moet de SMK en DMK opnieuw worden gegenereerd om de hoofdsleutels te upgraden naar AES. Zie ALTER SERVICE MASTER KEY voor meer informatie over het opnieuw genereren van de SMK.

Wanneer de optie FORCE wordt gebruikt, wordt de sleutelregeneratie voortgezet, zelfs als de hoofdsleutel niet beschikbaar is of als de server niet alle versleutelde persoonlijke sleutels kan ontsleutelen. Als de hoofdsleutel niet kan worden geopend, gebruikt u de instructie RESTORE MASTER KEY om de hoofdsleutel te herstellen vanuit een back-up. Gebruik de optie FORCE alleen als de hoofdsleutel onherstelbaar is of als ontsleuteling mislukt. Gegevens die alleen worden versleuteld door een onherstelbare sleutel, gaan verloren.

Met de optie DROP ENCRYPTION BY SERVICE MASTER KEY verwijdert u de versleuteling van de databasehoofdsleutel door de hoofdsleutel van de service.

DROP ENCRYPTION BY SERVICE MASTER KEY wordt niet ondersteund in Azure SQL Database.

MET ADD ENCRYPTION BY SERVICE MASTER KEY wordt een kopie van de hoofdsleutel versleuteld met behulp van de hoofdsleutel van de service en opgeslagen in zowel de huidige database als in de hoofdsleutel.

Permissions

Vereist control-machtiging voor de database. Als de hoofdsleutel van de database is versleuteld met een wachtwoord, is ook kennis van dat wachtwoord vereist.

Examples

In het volgende voorbeeld wordt een nieuwe hoofdsleutel voor de database gemaakt en AdventureWorks worden de sleutels eronder opnieuw versleuteld in de versleutelingshiërarchie. Vervang <secure password> door een sterk, uniek wachtwoord.

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

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

In het volgende voorbeeld wordt een nieuwe hoofdsleutel voor de database gemaakt en AdventureWorksPDW2012 worden de onderliggende sleutels opnieuw versleuteld in de versleutelingshiërarchie. Vervang <secure password> door een sterk, uniek wachtwoord.

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