Aracılığıyla paylaş


ALTER MASTER KEY (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitik Platform Sistemi (PDW)Microsoft Fabric'te SQL veritabanı

Veritabanı ana anahtarının özelliklerini değiştirir.

Transact-SQL söz dizimi kuralları

Syntax

SQL Server söz dizimi

-- 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 for Azure SQL Database and SQL database in 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' }

Azure Synapse Analytics ve Analytics Platform Sistemi (PDW) için söz dizimi

-- 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 ='parola'

Veritabanı ana anahtarının şifrelenmesi veya şifresinin çözülmesi için bir parola belirtir. parola , SQL Server örneğini çalıştıran bilgisayarın Windows parola ilkesi gereksinimlerini karşılamalıdır.

Remarks

REGENERATE seçeneği, veritabanı ana anahtarını ve koruduğu tüm anahtarları yeniden oluşturur. Anahtarların şifresi önce eski ana anahtarla çözülür ve ardından yeni ana anahtarla şifrelenir. Bu yoğun kaynak kullanımlı işlem, ana anahtar tehlikeye atılmadığı sürece talebin düşük olduğu bir dönemde zamanlanmalıdır.

SQL Server 2012 (11.x), hizmet ana anahtarını (SMK) ve veritabanı ana anahtarını (DMK) korumak için AES şifreleme algoritmasını kullanır. AES, önceki sürümlerde kullanılan 3DES'ten daha yeni bir şifreleme algoritmasıdır. Veritabanı Altyapısı örneğini SQL Server 2012'ye (11.x) yükselttikten sonra, ana anahtarları AES'ye yükseltmek için SMK ve DMK yeniden oluşturulmalıdır. SMK'yi yeniden oluşturma hakkında daha fazla bilgi için bkz. ALTER SERVICE MASTER KEY.

FORCE seçeneği kullanıldığında, ana anahtar kullanılamıyor olsa veya sunucu tüm şifrelenmiş özel anahtarların şifresini çözemiyorsa bile anahtar yeniden oluşturma işlemi devam eder. Ana anahtar açılamıyorsa, ana anahtarı yedekten geri yüklemek için RESTORE MASTER KEY deyimini kullanın. ZORLA seçeneğini yalnızca ana anahtarın kurtarılamaz olması veya şifre çözmenin başarısız olması durumunda kullanın. Yalnızca kurtarılamaz bir anahtarla şifrelenen bilgiler kaybolur.

DROP ENCRYPTION BY SERVICE MASTER KEY seçeneği, hizmet ana anahtarı tarafından veritabanı ana anahtarının şifrelenmesini kaldırır.

HIZMET ANA ANAHTARıNA GÖRE DROP ENCRYPTION, Azure SQL Veritabanı'nda desteklenmez.

HİzMET ANA ANAHTARINA GÖRE ŞIFRELEME EKLEME, ana anahtarın bir kopyasının hizmet ana anahtarı kullanılarak şifrelenmesini ve hem geçerli veritabanında hem de ana anahtarda depolanmasını sağlar.

Permissions

Veritabanında KONTROL izni gerektirir. Veritabanı ana anahtarı bir parolayla şifrelenirse, bu parola hakkında da bilgi sahibi olmak gerekir.

Examples

Aşağıdaki örnek için AdventureWorks yeni bir veritabanı ana anahtarı oluşturur ve şifreleme hiyerarşisinde altındaki anahtarları yeniden şifreler. değerini güçlü ve benzersiz bir parolayla değiştirin <secure password> .

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

Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)

Aşağıdaki örnek için AdventureWorksPDW2012 yeni bir veritabanı ana anahtarı oluşturur ve şifreleme hiyerarşisinde altındaki anahtarları yeniden şifreler. değerini güçlü ve benzersiz bir parolayla değiştirin <secure password> .

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