The FSAReportingConfigUtility fails to successfully complete the process of creating a reporting database.

book

Article ID: 100007547

calendar_today

Updated On:

Description

Error Message

The pop up dialog will show the following:

Enterprise Vault Failed to create this FSA Reporting Database:
Database: 
On SQL Server:
Reason: Unspecified error.

Dtrace will show the following:

977 09:58:10.161  [4284] (FSAReportingConfigUtility) <1888> EV-H {SQLSCRIPTRUNNER.EN_US} SQL Error at:  |IF EXISTS(SELECT JSV.job_id FROM dbo.sysjobservers JSV INNER JOIN dbo.sysjobs J ON JSV.job_id = J.job_id  |WHERE  J.name = N'EV FSAReporting Daily Job FSAReporting') |EXEC sp_delete_jobserver @job_name = N'EV FSAReporting Daily Job FSAReporting', | | @server_name = NULL |at 2. Description: The SELECT permission was denied on the object 'sysjobs', database 'msdb', schema 'dbo'.SQL Error at:  |IF EXISTS(SELECT schedule_id FROM dbo.sysjobschedules JS INNER JOIN dbo.sysjobs J ON JS.job_id = J.job_id  |WHERE J.NAME = N'EV FSAReporting Daily Job FSAReporting Schedule') |EXEC sp_delete_jobschedule @job_name = N'EV FSAReporting Daily Job FSAReporting', |   @name = N'EV FSAReporting Daily Job FSAReporting Schedule' |at 2. Description: The SELECT permission was denied on the object 'sysjobs', database 'msdb', schema 'dbo'.SQL Error at:  |IF EXISTS(SELECT JS.job_id FROM dbo.sysjobsteps JS INNER JOIN dbo.sysjobs J ON JS.job_id = J.job_id  | WHERE J.name = N'EV FSAReporting Daily Job FSAReporting') |EXEC sp_delete_jobstep @job_name = N'EV FSAReporting Daily Job FSAReporting', |       @step_id  = 1 |at 2. Description: The SELECT permission was denied on the object 'sysjobs', database 'msdb', schema 'dbo'.SQL Error at:  |IF EXISTS(SELECT job_id FROM dbo.sysjobs WHERE name = N'EV FSAReporting Daily Job FSAReporting') |EXEC sp_delete_job @job_name = N'EV FSAReporting Daily Job FSAReporting' |at 2. Description: The SELECT permission was denied on the object 'sysjobs', database 'msdb', schema 'dbo'.SQL Error at:  |EXEC dbo.sp_add_job |@job_name = N'EV FSAReporting Daily Job FSAReporting',  |   |@enabled = 1, |   |@description = N'Job to execute PopulateTrendTables SP which populates trend table.', |   |@notify_level_eventlog = 3, -- always write an event log, 2 for only faulures |   |@delete_level = 0 -- never delete the job |at 56. Description: The specified @name ('EV FSAReporting Daily Job FSAReporting') already exists.SQL Error at:  |EXEC sp_add_jobstep |@job_name = N'EV FSAReporting Daily Job FSAReporting',  |@step_id =1, |@step_name = N'Start', |@subsystem = N'TSQL', |@database_name = N'FSAReporting', |@command = 'exec PopulateTrendTable' |at 149. Description: The specified @step_name ('Start') already exists.SQL Error at:  |EXEC sp_add_jobserver @job_name = N'EV FSAReporting Daily Job FSAReporting' |at 101. Description: Job 'EV FSAReporting Daily Job FSAReporting' is already targeted at server 'AD-SQL'.SQL Error at:  |-- manual start of the job |--sp_start_job @job_name = 'EV FSAReporting Daily Job FSAReporting'Script to create job which will move the older records from main tables (ScannedObjects, DriveUsage, |-- FiletypeUsage and SIDUsage) to their respective history tables (ScannedObjects_History, DriveUsage_History,  |-- FiletypeUsage_History and SIDUsage_History) * Following script creates the SQL Job which is reponsible for calling the MoveRecordsToHistoryTables SP. */ | |IF EXISTS(SELECT JSV.job_id FROM dbo.sysjobservers JSV INNER JOIN dbo.sysjobs J ON JSV.job_id = J.job_id  |WHERE  J.name = N'EV FSAReporting Purging Job FSAReporting') |EXEC sp_delete_jobserver @job_name = N'EV FSAReporting Purging Job FSAReporting', | | @server_name = NULL |at 13. Description: The SELECT permission was denied on the object 'sysjobs', database 'msdb', schema 'dbo'.SQL Error at:  |IF EXISTS(SELECT schedule_id FROM dbo.sysjobschedules JS INNER JOIN dbo.sysjobs J ON JS.job_id = J.job_id  |WHERE J.NAME = N'EV FSAReporting Purging Job FSAReporting Schedule') |EXEC sp_delete_jobsche


978 09:58:10.161  [4284] (FSAReportingConfigUtility) <1888> EV-H {REPORTINGDBCONFIG.EN_US} Error while executing script C:\Program Files (x86)\Enterprise Vault\FSAReportingDB_8_Jobs.sql
979 09:58:10.161  [4284] (FSAReportingConfigUtility) <1888> EV-H {CONNECTIONPROVIDER.EN_US} Enter CloseConnection
980 09:58:10.161  [4284] (FSAReportingConfigUtility) <1888> EV-M {CONNECTIONPROVIDER.EN_US} Open Connections: 0
981 09:58:10.161  [4284] (FSAReportingConfigUtility) <1888> EV-H {CONNECTIONPROVIDER.EN_US} Exit CloseConnection
982 09:58:10.161  [4284] (FSAReportingConfigUtility) <1888> EV-H {REPORTINGDBCONFIG.EN_US} Error: Failed to execute FSA Reporting SQL Scripts.
983 09:58:10.161  [4284] (FSAReportingConfigUtility) <1888> EV-H {REPORTINGCONFIGAPP.EN_US} Command option [/create] failed.
984 09:58:10.161  [4284] (FSAReportingConfigUtility) <1888> EV-H {ReportingConfigApp.Exit} Exit code: 7 - FailedToRunPurgeScript

Cause

This issue can be caused if the Vault Service Account is not granted Select permissions on the following msdb tables:

-sysjobs

-sysjobschedules

-sysjobservers

-sysjobsteps

 

 

Resolution

To resolve this issue verify the following is completed as per the "Installation and Configuration guide":
 

To add the Vault Service account to the msdb system database

  1. On the SQL Server computer, start SQL Server Management Studio.
     
  2. Select the required SQL Server.
     
  3. Browse to Databases > System Databases > msdb > Security > Users.
     
  4. Right-click Users and then click New User.
     
  5. In the User name box, enter a new user name.
     
  6. In the Login name box, enter the domain and the user name of the Vault Service account, in the form domain\user_name.
     
  7. Click OK


To grant the permissions to the Vault Service account

  1. Right-click the new user that you just created, and then click Properties
     
  2. Select the Securables page
     
  3. Add the following msdb tables to the list of securables, and then grant Select permission for them to the Vault Service account:

    sysjobs
    sysjobschedules
    sysjobservers
    sysjobsteps
     


To assign the SQLAgentUserRole to the Vault Service account

  1. Browse to Databases > System Databases > msdb > Security > Roles >Database Roles
     
  2. Right-click SQLAgentUserRole, and then click Properties
     
  3. On the General page, click Add, and then specify the Vault Service account that you have just created.

 

 

 

Issue/Introduction

When attempting to configure the Reporting Data Collection tab in the properties of a target File server the FSAReportingConfigUtility report a failure to create the FSA Reporting database. However, when you view the SQL databases you see that the FSA Reporting database is created along with the associated tables.