cancel
Showing results for 
Search instead for 
Did you mean: 

Error on creating FSA Reporting Database

JesperBerth
Level 5
Partner Accredited

Hi

I am having some troubles getting FSA Reporting Enabled on my Enterprise Vault 10 installation

 

When i try to create the FSA Reporting Database i get this error

 

Enterprise Vault Faild to create this FSA Reporting Database

Database: FSAReportingDB2

On SQL Server: NADAL\NADAL1

Reason: Unspecified error

 

See Pic

1 ACCEPTED SOLUTION

Accepted Solutions

jim_leggett
Level 6
Employee Accredited Certified

I went ahead and created the following tech note based on my findings here.

http://www.symantec.com/docs/TECH176450

View solution in original post

10 REPLIES 10

jim_leggett
Level 6
Employee Accredited Certified

I am having the same issue on EV 9.0 SP3. If I find anything out I'll let you know.

Right now when I go to SQL it does appear to have created the FSA reporting database with all the tables I would expect to see. I'm going to dtrace the directory service and mmc to see if anything shows up there.

Maverik
Level 6

I have heard of this occurring if there is insufficent disk space on SQL server. Is space an issue?

If not can you capture a dtrace of FSAReportingConfigUtility/DirectoryService/MMC whilst reproducing the issue and post it.

jim_leggett
Level 6
Employee Accredited Certified

Here is what my dtrace shows. Wondering if you are seeing the same thing.

 

330 09:32:27.801  [1496] (DirectoryService) <1196> EV:L CADODataAccess::CreateCommand entry
331 09:32:27.817  [1496] (DirectoryService) <1196> EV:L CADODataAccess::CreateCommand exit. hr=Success  (0)


332 09:32:27.832  [1496] (DirectoryService) <1196> EV:M DirectoryService: ADO: dbo.GetFSAReportingDatabases |
339 09:32:27.973  [1384] (mmc) <5000> EV:M RunReportingConfigUtility - Failed [0x80004005] [Unspecified error ]


340 09:32:27.973  [1384] (mmc) <5000> EV:M CAviProgDlgLauncherThrd::DestroyWindow() - Enter.
341 09:32:27.989  [1384] (mmc) <5000> EV:M CAviProgDlgLauncherThrd::DestroyWindow() - trying to terminate the thread.
342 09:32:28.004  [1384] (mmc) <3956> EV:M CAviProgDlgLauncherThrd::~CAviProgDlgLauncherThrd() - Final cleanup.
343 09:32:28.004  [1384] (mmc) <3956> EV:M CAviProgDlgLauncherThrd::ExitInstance() - thread terminated successfully.
344 09:32:28.020  [1384] (mmc) <5000> EV:M CAviProgDlgLauncherThrd::DestroyWindow() - Exit.
345 09:32:28.036  [1384] (mmc) <5000> EV:M RunReportingConfigUtility - Leaving with status: Unspecified error
348 09:32:33.833  [1496] (DirectoryService) <1196> EV:L {CDirectoryServiceObject::RunConfig} (Entry)

jim_leggett
Level 6
Employee Accredited Certified

Here is what I am seeing with the FSAConfigUtiliy trace on.

BTW thanks key player for the suggestion.

 

977 09:58:10.161  [4284] (FSAReportingConfigUtility) <1888> EV-H {SQLScriptRunner.RunScript} 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.RunScript} 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} Enter CloseConnection
980 09:58:10.161  [4284] (FSAReportingConfigUtility) <1888> EV-M {ConnectionProvider} Open Connections: 0
981 09:58:10.161  [4284] (FSAReportingConfigUtility) <1888> EV-H {ConnectionProvider} Exit CloseConnection
982 09:58:10.161  [4284] (FSAReportingConfigUtility) <1888> EV-H {ReportingDBConfig.Create} Error: Failed to execute FSA Reporting SQL Scripts.
983 09:58:10.161  [4284] (FSAReportingConfigUtility) <1888> EV-H {ReportingConfigApp.Install} Command option [/create] failed.
984 09:58:10.161  [4284] (FSAReportingConfigUtility) <1888> EV-H {ReportingConfigApp.Exit} Exit code: 7 - FailedToRunPurgeScript

 

 

 

So it looks like I am having permissions issue in SQL with the account I am running the configuration with.

Just curious if you get the same thing Jesper.

 

jim_leggett
Level 6
Employee Accredited Certified

So basically in my environment I'm getting a logon failed for user Vault in the Application log of the SQL server. So I must have missed something with the permissions. I'll have to continue with this later, but maybe this info will point you in the right direction.

JesperBerth
Level 5
Partner Accredited

Hi Jim

I am not able to test before tomorrow, i belive that i have tried with the Vault Service Account, and i have tried with my evreport user, same thing happens i create the database and tables and then i get the error

 

There should be space on the sql server it has a 50Gb disk for the DB, its a new install and currently i have only 3 users in the Exchange archive.

 

I will follow up tomorrow 

 

Jesper

jim_leggett
Level 6
Employee Accredited Certified

I skipped over this part in the install and config guide. I will add these permissions and test it later. I'll let you know how it goes.

 

About assigning permissions and roles in SQL databases

Unless you assign the SQL system administrator (sysadmin) role to the Vault

Service account, you must perform the following additional steps before you run

the Enterprise Vault Configuration wizard for the first time:

Add the Vault Service account to the msdb system database.

Grant the Vault Service account Select permissions on the msdb tables sysjobs,

sysjobschedules, sysjobservers, and sysjobsteps.

Assign the database role SQLAgentUserRole to the Vault Service account.

If you do not perform these steps, the following problems occur:

Enterprise Vault fails to purge the history records from the Monitoring

database, so these database records continue to grow.

Enterprise Vault required software and settings 49

Preinstallation tasks for Enterprise Vault server

Upon completion, the Enterprise Vault Configuration wizard logs an error in

the event log with the category 'Monitoring Configuration Utility' and Event

ID 41123. The error description begins as follows and then lists the contents

of a Purge Job SQL script file:

Monitoring Configuration Utility reported error: SQL Error at: --

If you run the Enterprise Vault Configuration wizard without performing these

additional steps, see the following Enterprise Vault technical note:

http://entsupport.symantec.com/docs/327522.

Assigning permissions and roles in SQL Server 2005/2008

databases

You must add the Vault Service account to the msdb system database, grant the

required permissions to the account, and assign the database role

SQLAgentUserRole to the account.

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

Enterprise Vault required software and settings

Preinstallation tasks for Enterprise Vault server

50

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.

jim_leggett
Level 6
Employee Accredited Certified

The following steps resolved my issue and I suspect may solves yours as well. If it doesn't resolve your issue just dtrace fsareportingconfigutitlity, directoryservice, and mmc. That might show some other issue.

But I'm thinking we skipped the same permissions for the pre-requisites.

 

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

Enterprise Vault required software and settings

Preinstallation tasks for Enterprise Vault server

jim_leggett
Level 6
Employee Accredited Certified

I went ahead and created the following tech note based on my findings here.

http://www.symantec.com/docs/TECH176450

JesperBerth
Level 5
Partner Accredited

Hi Jim

 

It was the

■ sysjobs
■ sysjobschedules
■ sysjobservers
■ sysjobsteps

Grant Select on these objecs that i missed, remember being in that windows but ...

 

Thank you very much for your help

 

/Jesper