Я скопировал базу данных SQL Server из одной системы в другую с идентичными настройками, но совершенно с другой физической машиной. Я использовал Norton Ghost и восстановил файлы вручную, например, всю папку SQL Server 2008, найденную в c:\Program Files после переустановки SQL Server 2008 Express.
В одной из моих баз данных включено шифрование AES_256 для ряда одной из ее таблиц, столбцов. Я перезагрузил свой IIS7 и попытался запустить приложение, которое обращается к базе данных, после получения данных я получаю эту ошибку:
Ошибка сервера в приложении '/' Перед выполнением этой операции создайте мастер-ключ в базе данных или откройте мастер-ключ в сеансе. Описание: во время выполнения текущего веб-запроса возникло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.Data.SqlClient.SqlException: перед выполнением этой операции создайте главный ключ в базе данных или откройте главный ключ в сеансе.
Ошибка источника:
Во время выполнения текущего веб-запроса возникло необработанное исключение. Информацию о происхождении и расположении исключения можно определить с помощью приведенной ниже трассировки стека исключений.
Я кое-что прочитал и нашел несколько ссылок о том, как шифрование AES связано с ключом машины, но не знаю, как скопировать его в новую систему. Или, возможно, это даже не так.
ПРИМЕЧАНИЕ. Я попытался удалить симметричный ключ, сертификат и главный ключ и создать их заново. Это избавляет от ошибки, но данные, зашифрованные через AES_256, не отображаются. Однако столбцы, которые НЕ зашифрованы, зашифрованы.
Любая помощь приветствуется. Заранее спасибо!