Cube corruption and restoration
search cancel

Cube corruption and restoration

book

Article ID: 277130

calendar_today

Updated On:

Products

Information Centric Analytics

Issue/Introduction

The RiskFabric cube processing step (16) of the nightly RiskFabric Processing job fails and the following error is captured in the SQL Server Agent log:

<Error ErrorCode="3239313412" Description="Errors in the metadata manager. Either the database with the ID of 'RiskFabric' does not exist in the server with the ID of '<hostname>', or the user does not have permissions to access the object."

If you connect to the Analysis Services (SSAS) server hosting the RiskFabric cube using SQL Server Management Studio (SSMS), the RiskFabric database and cube are missing from Object Explorer. If you attempt to edit the SSAS server's properties, SSMS displays an error similar to the following:

TITLE: Microsoft SQL Server Management Studio

------------------------------

Cannot show requested dialog.

------------------------------

ADDITIONAL INFORMATION:

File system error: The following file is corrupted: Physical file:\\?\<path>\Program Files\Microsoft SQL Server\MSAS<n>.MSSQLSERVER\OLAP\Data\RiskFabric.0.db\Action Plan Assigned To Portal User.0.dim\216.Action Plan Assigned To Portal User Locked Out.(All).sstore. Logical file .

Errors in the metadata manager. An error occurred when loading the 'Action Plan Assigned To Portal User' dimension, from the file, '\\?\<path>\Program Files\Microsoft SQL Server\MSAS<n>.MSSQLSERVER\OLAP\Data\RiskFabric.0.db\Action Plan Assigned To Portal User.216.dim.xml'.

Errors in the metadata manager. An error occurred when loading the 'Risk Fabric' cube, from the file, '\\?\<path>\Program Files\Microsoft SQL Server\MSAS<n>.MSSQLSERVER\OLAP\Data\RiskFabric.0.db\Risk Fabric.19703.cub.xml'.

(Microsoft.AnalysisServices.Core)

------------------------------

BUTTONS:

OK

------------------------------

The files referenced in the error message are extant on the file system; however, if you attempt to delete or move them, you may see an error indicating one or more filenames are too long.

Resolution

The RiskFabric cube must be re-installed from an XMLA script. If you don't have access to an Information Centric Analytics (ICA) environment with a working cube, contact Broadcom for assistance with obtaining a script.

If you have a working development, UAT, or QA environment running the same version of ICA as is deployed in your production environment, follow this procedure to generate the script:

  1. Open an instance of SSMS running under an account that has been assigned to the administrator role in SSAS
  2. Connect to the Analysis Services server hosting your working RiskFabric cube
  3. In Object Explorer, navigate to Databases > RiskFabric
  4. Right-click the RiskFabric database and select Script Database as > CREATE To > File ...
    The Save As window will open
  5. Save the file in a location accessible for transfer to your production SSAS server
  6. Transfer the file to your production SSAS server

To restore the cube from the XMLA script, follow this procedure:

  1. Open an instance of SSMS running under an account that has been assigned to the administrator role in SSAS
  2. Connect to the Analysis Services server hosting your production RiskFabric cube
  3. From the File menu, select Open > File...
    The Open File window will open
  4. Locate and select the XMLA script generated from your working RiskFabric environment
  5. If prompted to normalize line endings, click No
  6. Execute the script by pressing the F5 key, clicking the Execute button in the SQL Editor toolbar, or selecting Execute from the Query menu
  7. In Object Explorer, right-click the Databases folder and select Refresh

After restoring the cube, you must update the cube's data source connection string and impersonation identity. To update the connection string, follow this procedure:

  1. Open an instance of SSMS running under an account that has been assigned to the administrator role in SSAS
  2. In Object Explorer, navigate to Databases > RiskFabric > Data Sources
  3. Right-click the RiskFabric data source and select Properties
    The Data Source Properties - RiskFabric window will open
  4. In the Data Source Properties - RiskFabric window, select the Connection String and click the ellipsis that appears on selection
    The Connection Manager window will open
  5. Confirm the selected provider is Native OLE DB\SQL Server Native Client 11.0
  6. Enter the Server name and instance (if using a named instance) hosting the RiskFabric SQL database
  7. From the drop-down menu labelled Select or enter a database name, select the RiskFabric database
  8. Click the OK button to save changes and close the Connection Manager window
  9. Click the OK button to save changes and close the Data Source Properties - RiskFabric window

To update the impersonation identity, follow this procedure:

  1. Open an instance of SSMS running under an account that has been assigned to the administrator role in SSAS
  2. In Object Explorer, navigate to Databases
  3. Right-click the RiskFabric database and select Properties
    The Database Properties - RiskFabric window will open
  4. In the Database Properties - RiskFabric window, select the Data Source Impersonation Info and click the ellipsis that appears on selection
    The Impersonation Information window will open
  5. Select the Windows user name impersonation option and enter the ICA service account and password
  6. Click the OK button to save changes and close the Impersonation Information window
  7. Click the OK button to save changes and close the Database Properties - RiskFabric window

After restoring the cube, you must run the nightly RiskFabric Processing job. Follow this procedure:

  1. Open SSMS
  2. Connect to the Database Engine hosting the RiskFabric database
  3. In Object Explorer, navigate to SQL Server Agent > Jobs
  4. Right-click the job RiskFabric Processing and select Start Job at Step
    The Start Job on '<server name>' window will open
  5. Click the Start button to start the job