sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server 2008 Open Master Key-fel vid fysisk serverbyte

Databashuvudnyckeln krypteras med serverns huvudnyckel, som är specifik för den maskin där SQL Server är installerad. När du flyttar databasen till en annan server förlorar du möjligheten att automatiskt dekryptera och öppna databasens huvudnyckel eftersom den lokala servernyckeln med största sannolikhet kommer att vara annorlunda. Om du inte kan dekryptera databasens huvudnyckel kan du inte dekryptera något annat som beror på den (certifikat, symmetriska nycklar, etc).

I grund och botten vill du omkryptera databasens huvudnyckel mot den nya servernyckeln, vilket kan göras med det här skriptet (med administratörsbehörighet):

-- Reset database master key for server (if database was restored from backups on another server)
OPEN MASTER KEY DECRYPTION BY PASSWORD = '---your database master key password---'
ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY
GO

Observera att när du skapar en databashuvudnyckel bör du alltid ange ett lösenord också så att du kan öppna nyckeln med lösenordet i det scenario där tjänstens huvudnyckel inte kan användas - förhoppningsvis har du det lösenordet lagrat någonstans!

Alternativt kan du återställa en säkerhetskopia av databashuvudnyckeln - men du behöver en som skapades för målservern, inte källservern.

Om du inte har vare sig en säkerhetskopia eller ett lösenord, så är jag inte säker på att du kommer att kunna återställa den krypterade informationen på den nya servern, eftersom du måste släppa och återskapa databasens huvudnyckel med ett nytt lösenord, vilket kommer att döda alla beroende nycklar och data.



  1. Rails 3 ActiveRecord:UNION

  2. Kan vi ha flera MED AS i singel sql - Oracle SQL

  3. Bygg träd från parent_id id-tabellstruktur

  4. Exekvera en lagrad orakelprocedur i R med RORacle