title: SQL Server 2008 Open Master Key error upon physical server change over
body: <p>I copied a SQL Server database from one system to the next, identical setup, but completely different physical machine. I used Norton Ghost and recoverd files manually, for example, the entire SQL Server 2008 folder found in c:\Program Files after re-installing SQL Server 2008 Express. </p>
  
  <p>One of my databases has AES_256 encryption enabled on a number of one of its tables, columns. I resetup my IIS7 and tried to run the app that access the database, upon retrieving the data, I get this error:</p>
  
  <blockquote>
    <p>Server Error in '/' Application.
    Please create a master key in the
    database or open the master key in the
    session before performing this
    operation. Description: An unhandled
    exception occurred during the
    execution of the current web request.
    Please review the stack trace for more
    information about the error and where
    it originated in the code.</p>
    
    <p>Exception Details:
    System.Data.SqlClient.SqlException:
    Please create a master key in the
    database or open the master key in the
    session before performing this
    operation.</p>
    
    <p>Source Error:</p>
    
    <p>An unhandled exception was generated
    during the execution of the current
    web request. Information regarding the
    origin and location of the exception
    can be identified using the exception
    stack trace below.</p>
  </blockquote>
  
  <p>I've done some reading and found some links about how the AES encryption is linked with the machine key, but am at a loss as to how to copy it over to the new system. Or perhaps this even isn't the case. </p>
  
  <p>NOTE: I've tried dropping the symmetric key, certificate and the master key and re-creating them. This gets rid of the error, but than the data that in encrypted via AES_256 does not show up. The columns that are NOT encrypted do, however.</p>
  
  <p>Any help would be much appreciated. Thanks in advance! </p>