Errore "Impossibile completare l'operazione" quando si ripristina un database di Microsoft Management Reporter 2012

Questo articolo fornisce una risoluzione per l'operazione Non è stato possibile completare l'operazione che può verificarsi quando si ripristina un database di Microsoft Management Reporter 2012.

Si applica a: Microsoft Management Reporter 2012, Microsoft Dynamics AX 2009, Microsoft Dynamics SL 2011, Microsoft Dynamics GP
Numero KB originale: 2744330

Sintomi

Dopo aver ripristinato un database di Management Reporter 2012, è possibile che venga visualizzato l'errore seguente nella Progettazione report Management Reporter 2012:

Impossibile completare l'operazione a causa di un errore nel server.

Messaggio di errore ricevuto nel registro applicazioni di Windows Visualizzatore eventi:

System.Data.SqlClient.SqlException (0x80131904): creare una chiave master nel database o aprire la chiave master nella sessione prima di eseguire questa operazione. La routine 'pEncryptGeneralUserData' ha tentato di restituire lo stato NULL, che non è consentito. Verrà restituito invece uno stato pari a 0.

Causa

Il database di Management Reporter 2012 viene crittografato usando informazioni specifiche del server e non è possibile eseguire il backup o il ripristino senza passaggi aggiuntivi.

Risoluzione

Il processo di spostamento del database management reporter 2012 è il seguente:

Nota

Se si usa un provider di Management Reporter 2012 che usa il database DDM (Dynamic Datamart), non spostare il database DDM. Verrà invece creato un nuovo database usando il processo qui.

  1. Avviare la console di configurazione di Management Reporter 2012.

  2. Selezionare Management Reporter Services (Servizi management reporter).

  3. Registrare il nome del database elencato nell'intestazione Connessione al database. Il nome del database verrà elencato dopo il nome del server SQL. Ad esempio: SQLServer (database)

  4. Registrare il nome dell'account del servizio usato.

  5. Accedere a SQL Server Management Studio.

  6. Eseguire il backup del database management reporter 2012 registrato in precedenza in questo argomento.

  7. Avviare il Progettazione report Management Reporter 2012.

  8. Esportare ogni gruppo di blocchi predefiniti. I report possono essere reimportati se si verifica un errore. A tale scopo, seguire questa procedura:

    1. Nel menu Società selezionare Gruppi blocchi predefiniti.

    2. Selezionare il gruppo di blocchi predefiniti da esportare.

    3. Selezionare Esporta.

    4. Selezionare tutti i blocchi predefiniti da esportare nelle schede Definizioni report, Definizioni di righe, Definizioni di colonna, Definizioni albero report. Selezionare anche tutti i set di valori delle dimensioni.

    5. Selezionare Esporta.

    6. Scegliere un percorso per salvare il .tdbx file di esportazione.

      Nota

      Il percorso predefinito in un server Windows Server 2008 è C:\Users\<username>\Documents\Management Reporter\Building Block Groups

    7. Selezionare Chiudi nella finestra Gruppi blocchi predefiniti.

  9. Exit Management Reporter 2012 Progettazione report.

  10. Avviare la console di configurazione di Management Reporter 2012.

  11. Nella barra di spostamento selezionare il nome del server SQL.

  12. Selezionare Rimuovi per rimuovere l'integrazione ERP.

  13. Selezionare al prompt Rimuovere l'integrazione ERP.

  14. Nella barra di spostamento selezionare Management Reporter Services.In the navigation bar, select Management Reporter Services.

  15. Selezionare Rimuovi servizio di elaborazione.

  16. Selezionare al prompt Rimuovere 'Management Reporter 2012 Process Service'?.

  17. Selezionare Rimuovi servizio applicazione.

  18. Selezionare al prompt Rimuovere "Management Reporter 2012 Application Service" (Servizio applicazione Management Reporter 2012)?.

  19. Accedere a SQL Server Management Studio.

  20. Eseguire il backup del database management reporter 2012 registrato in precedenza in questo argomento.

  21. Accedere a SQL Server Management Studio nel nuovo server SQL.

  22. Ripristinare il database management reporter 2012 nel nuovo server SQL.

  23. Verificare che l'account del servizio Management Reporter 2012 disponga delle autorizzazioni corrette per SQL Server e per il nuovo database. Fare riferimento alle guide all'installazione di Management Reporter in Management Reporter 2012 for Microsoft Dynamics ERP: Installation, Migration, and Configuration Guides.Refer to the Management Reporter installation guides at Management Reporter 2012 for Microsoft Dynamics ERP: Installation, Migration, and Configuration Guides.

  24. Usando le istruzioni riportate di seguito, eseguire lo script seguente nel database di Management Reporter 2012 nel nuovo server SQL:

    --////////////////////////////////////////////////////////////////
    -- 
    -- Script Instructions:
    -- 
    -- 1. Update the line in the following code, starting with 'CREATE MASTER KEY ENCRYPTION BY PASSWORD', to contain the 
    -- Master key you wish to use. The master key must meet the Windows password policy 
    -- requirements of the computer that is running the instance of SQL Server.
    --
    -- 2. Run this script against the Management Reporter 2012 database. This script
    -- will output a message if it does not detect the Management Reporter 2012 database.
    --
    --////////////////////////////////////////////////////////////////
    
    IF EXISTS (SELECT Name FROM sys.tables WHERE Name = 'ControlReportSchedule')
     BEGIN
     IF EXISTS (SELECT TOP(1) name FROM sys.symmetric_keys WHERE name = 'GeneralUserSymmetricKey')
     DROP SYMMETRIC KEY GeneralUserSymmetricKey
    
    IF EXISTS (SELECT TOP(1) name FROM sys.certificates WHERE name = 'GeneralUserCertificate')
     DROP CERTIFICATE GeneralUserCertificate
    
    IF EXISTS (SELECT TOP(1) name FROM sys.symmetric_keys WHERE name = 'ConnectorServiceSymmetricKey')
     DROP SYMMETRIC KEY ConnectorServiceSymmetricKey
    
    IF EXISTS (SELECT TOP(1) name FROM sys.certificates WHERE name = 'ConnectorServiceCertificate') 
     DROP CERTIFICATE ConnectorServiceCertificate
    
    IF EXISTS (SELECT TOP(1) name FROM sys.symmetric_keys WHERE name = '##MS_DatabaseMasterKey##')
     DROP MASTER KEY
    
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Access!23'
     -- NOTE Where Access!23 is your actual password
    
    CREATE CERTIFICATE [ConnectorServiceCertificate]
     AUTHORIZATION [dbo]
     WITH SUBJECT = N'Certificate for symmetric key encryption - for use by the connector service.'
    
    CREATE CERTIFICATE [GeneralUserCertificate]
     AUTHORIZATION [dbo]
     WITH SUBJECT = N'Certificate for access symmetric keys - for use by users assigned to the GeneralUser Role.'
    
    CREATE SYMMETRIC KEY [ConnectorServiceSymmetricKey]
     AUTHORIZATION [dbo]
     WITH ALGORITHM = AES_256
     ENCRYPTION BY CERTIFICATE [ConnectorServiceCertificate]
    
    CREATE SYMMETRIC KEY [GeneralUserSymmetricKey]
     AUTHORIZATION [dbo]
     WITH ALGORITHM = AES_256
     ENCRYPTION BY CERTIFICATE [GeneralUserCertificate]
    
    IF NOT EXISTS (SELECT TOP(1) name FROM sys.database_principals WHERE name='GeneralUser') 
     BEGIN 
     CREATE ROLE [GeneralUser]
     AUTHORIZATION [dbo]
     END 
    
    GRANT CONTROL ON CERTIFICATE::[GeneralUserCertificate] TO [GeneralUser]
     GRANT VIEW DEFINITION on SYMMETRIC KEY::[GeneralUserSymmetricKey] TO [GeneralUser]
     GRANT CONTROL ON CERTIFICATE::[ConnectorServiceCertificate] TO [GeneralUser]
     GRANT VIEW DEFINITION on SYMMETRIC KEY::[ConnectorServiceSymmetricKey] TO [GeneralUser] 
     UPDATE Connector.Adapter
     SET Settings.modify('declare namespace x="https://www.microsoft.com/2009/Dynamics/Integration";
     replace value of 
     (/SettingsCollection/x:ArrayOfSettingsValue/x:SettingsValue[x:Attributes="Password"]/x:Value/text())[1] 
     with ""')
     UPDATE Connector.MapCategoryAdapterSettings
     SET Settings.modify('declare namespace x="https://www.microsoft.com/2009/Dynamics/Integration";
     replace value of 
    (/SettingsCollection/x:ArrayOfSettingsValue/x:SettingsValue[x:Attributes="Password"]/x:Value/text())[1] 
     with ""')
     END
    ELSE
     BEGIN
     PRINT 'WARNING: Incorrect database selected.'
     Print 'Execute script against the Management Reporter 2012 database.'
     PRINT 'This can be found in the Management Reporter 2012 Configuration Console.'
     END
    

    Nota

    Se si usa Management Reporter 2012 con Microsoft Dynamics AX 2012, eseguire anche le istruzioni SQL seguenti per reimpostare le gerarchie dell'organizzazione nella Progettazione report di Microsoft Management Reporter 2012. Queste informazioni verranno recuperate da Microsoft Dynamics AX dopo l'abilitazione della nuova integrazione.

    delete ControlTreeMaster where FolderID in (select FolderID from ControlFolderIntegration)
    delete ControlFolder where ID in (select FolderID from ControlFolderIntegration)
    delete ControlFolderIntegration
    
  25. Avviare Microsoft Management Reporter 2012 Configuration Console.

  26. Nel menu File selezionare Configura.

  27. Effettuare un controllo accanto a Management Reporter Application Service e Management Reporter Process Service.Put a check next to Management Reporter Application Service and Management Reporter Process Service.Put a check next to Management Reporter Application Service and Management Reporter Process Service.

  28. Seleziona Avanti.

  29. Correggere eventuali problemi rilevati nella schermata Convalida prerequisiti e quindi selezionare Avanti.

  30. Nella sezione Account del servizio immettere il nome dell'account del servizio registrato in precedenza. Immettere anche la password per l'account del servizio.

  31. Nella sezione Configurazione database inserire un controllo in Connetti a un database esistente.

  32. Immettere il nome del nuovo SQL Server nel campo Server di database.

  33. Selezionare questa opzione per usare autenticazione di Windows o immettere un nome utente e una password autenticati di SQL.

  34. Nell'elenco a discesa Database selezionare il nome del database Management Reporter 2012 appena ripristinato.

  35. Nella sezione Servizio applicazioni immettere un numero di porta per l'esecuzione del servizio applicazione. Se Windows Firewall è abilitato nel server, selezionare Apri questa porta in Windows Firewall.

  36. Seleziona Avanti.

  37. Selezionare Configura.

  38. Selezionare Chiudi nella schermata Configura Management Reporter al termine del processo.

  39. Nel menu File selezionare Configura.

  40. Posizionare un controllo accanto all'ERP corretto per l'ambiente.

  41. Seleziona Avanti.

  42. Seguire le istruzioni per l'ERP per l'ambiente usando la guida appropriata in Management Reporter 2012 for Microsoft Dynamics ERP: Installation, Migration, and Configuration Guides.Follow the instructions for the ERP for the ERP for your environment using the appropriate guide at Management Reporter 2012 for Microsoft Dynamics ERP: Installation, Migration, and Configuration Guides.

    Nota

    Se si usa un provider di Management Reporter 2012 che usa il database DDM (Dynamic Data Mart), non spostare il database DDM. Creare invece un nuovo database data mart.

  43. Dopo aver creato correttamente l'integrazione, selezionare Chiudi. È necessario completare i passaggi seguenti prima di selezionare Abilita integrazione.

  44. Nella Console di configurazione di Management Reporter 2012 selezionare il nome dell'integrazione del data mart.

  45. Selezionare Aggiorna credenziali Dynamics XX, dove XX è AX, GP, SL o NAV (a seconda di Dynamics ERP).

  46. Immettere le credenziali appropriate per connettersi al database Dynamics ERP e quindi selezionare OK.

  47. Selezionare Aggiorna credenziali data mart.

  48. Immettere le credenziali appropriate da usare per aggiornare il database del data mart e quindi selezionare OK.

  49. Nella console di configurazione di Management Reporter 2012 arrestare il servizio applicazione Management Reporter 2012 e il servizio di elaborazione Management Reporter 2012.

  50. Nella console di configurazione di Management Reporter 2012 avviare il servizio applicazione Management Reporter 2012 e il servizio di elaborazione Management Reporter 2012.

  51. Nella Console di configurazione di Management Reporter 2012 selezionare il nome dell'integrazione del data mart.

  52. Selezionare Abilita integrazione.