Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Грешка при отваряне на главния ключ на SQL Server 2008 при промяна на физическия сървър

Главният ключ на базата данни е шифрован с помощта на главния ключ на сървъра, който е специфичен за машината, на която е инсталиран SQL Server. Когато преместите базата данни на друг сървър, вие губите способността автоматично да дешифрирате и отваряте главния ключ на базата данни, тъй като ключът на локалния сървър най-вероятно ще бъде различен. Ако не можете да дешифрирате главния ключ на базата данни, не можете да дешифрирате нищо друго, което зависи от него (сертификати, симетрични ключове и т.н.).

По принцип искате да шифровате отново главния ключ на базата данни спрямо новия ключ на сървъра, което може да се направи с този скрипт (като се използват администраторски привилегии):

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

Обърнете внимание, че когато създавате главен ключ на базата данни, винаги трябва да предоставяте и парола, за да можете да отворите ключа с помощта на паролата в сценария, в който главният ключ на услугата не може да се използва - надяваме се, че сте съхранили тази парола някъде!

Като алтернатива можете да възстановите резервно копие на главния ключ на базата данни - но имате нужда от такъв, който е създаден за целевия сървър, а не за сървъра източник.

Ако нямате резервно копие или парола, тогава не съм сигурен, че ще можете да възстановите криптираните данни на новия сървър, тъй като ще трябва да изпуснете и да създадете отново главния ключ на базата данни с нова парола, което ще унищожи всички зависими ключове и данни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създам съхранена процедура, която по избор ще търси колони?

  2. SSRS:повторете стойността на групата редове в най-ляво табликс на всеки ред

  3. Каква е най-добрата практика за вмъкване на запис, ако той все още не съществува?

  4. Сортиране на куршуми в базата данни

  5. VS 2010 проект за изграждане на база данни получава SQL04151