Меняет ли зависимый ключ изменение главного ключа базы данных SQL Server 2008 R2?
В SQL Server 2008 R2, если я изменяю главный ключ базы данных, нужно ли мне вносить какие-либо изменения в сертификаты, которые изменяют ключи шифрования базы данных пользователя. У меня есть требование ежегодного обновления.
Так что, если я сделаю это:
USE [Master];
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'blah((blah&something';
GO
также обновит ли ключи шифрование всех сертификатов, созданных для ключей шифрования базы данных пользователей?
существует ли риск потери данных?
Есть много примеров того, как внести изменения, но у меня возникают проблемы с поиском точечного комментария по этой конкретной ситуации.
1 ответ
При восстановлении DBMK будут повторно зашифрованы все ключи, зашифрованные с помощью DBMK, а также некоторые внутренние данные, зашифрованные с помощью DBMK (например, ключи сеанса конечных точек диалога компонента Service Broker). Нет риска потери данных. Если старый DBMK не может быть открыт (например, неизвестный пароль), то оператор ALTER не будет выполнен. В такой ситуации, если используется опция FORCE, тогда может произойти потеря данных, если старое шифрование DBMK было единственным доступным и потеряно при принудительной регенерации.
Не ясно, что вы подразумеваете под "ключами шифрования базы данных пользователей". Все ключи, физически хранящиеся в базе данных (включая любой сертификат области действия базы данных с закрытым ключом, зашифрованным с помощью главного ключа), будут повторно зашифрованы. Но, например, ключи прозрачного шифрования базы данных не будут повторно зашифрованы, поскольку они не хранятся в зашифрованной базе данных.