Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Details
| Attribute | Value |
|---|---|
| Produktnamn | SQL Server |
| Händelse-ID | 15581 |
| Händelsekälla | MSSQLSERVER |
| Component | SQLEngine |
| Symboliskt namn | SEC_NODBMASTERKEYERR |
| Meddelandetext | Skapa en huvudnyckel i databasen eller öppna huvudnyckeln i sessionen innan du utför den här åtgärden. |
Explanation
Fel 15581 uppstår när SQL Server inte kan återställa en databas som är aktiverad för transparent datakryptering (TDE). Ett felmeddelande som följande loggas i SQL Server fellogg
2020-01-14 22:16:26.47 spid20s Fel: 15581, Allvarlighet: 16, Delstat: 3.
2020-01-14 22:16:26.47 spid20s Vänligen skapa en huvudnyckel i databasen eller öppna huvudnyckeln i sessionen innan du utför denna operation.
Möjlig orsak
Detta problem uppstår när service master key-kryptering för databasens masternyckel i masterdatabasen tas bort när följande kommando körs:
Use master
go
alter master key drop encryption by service master key
Tjänstehuvudnyckeln används för att kryptera certifikatet som används av databasens huvudnyckel. Varje försök att använda den TDE-aktiverade databasen kräver åtkomst till databasens huvudnyckel i huvuddatabasen. En huvudnyckel som inte är krypterad av tjänstens huvudnyckel måste öppnas med hjälp av OPEN MASTER KEY (Transact-SQL) -satsen tillsammans med ett lösenord för varje session som kräver åtkomst till huvudnyckeln. Eftersom detta kommando inte kan köras i systemsessioner kan återställning inte slutföras på TDE-aktiverade databaser.
Användaråtgärd
För att lösa problemet, aktivera automatisk dekryptering av huvudnyckeln. Gör detta genom att köra följande kommando:
Use master
go
open master key DECRYPTION BY PASSWORD = 'password'
alter master key add encryption by service master key
Använd följande fråga för att avgöra om automatisk dekryptering av huvudnyckeln med tjänstehuvudnyckeln inaktiverades för huvuddatabasen:
select is_master_key_encrypted_by_server from sys.databases where name = 'master'
Om denna fråga returnerar värdet 0 inaktiverades automatisk dekryptering av huvudnyckeln av tjänstehuvudnyckeln.
Mer information
I vissa fall kan instansen av SQL Server verka oresponsiv. Om du frågar sys.dm_exec_requests i dynamisk hanteringsvy märker du att tråden LogWriter och andra trådar som utför DML-operationer väntar obegränsat med WRITELOG wait_type. Andra sessioner kan också vänta medan de försöker få tag på lås.