12-07-2011 05:53 AM
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
Solved! Go to Solution.
12-07-2011 01:57 PM
I went ahead and created the following tech note based on my findings here.
12-07-2011 06:22 AM
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.
12-07-2011 06:27 AM
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.
12-07-2011 06:28 AM
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)
12-07-2011 07:03 AM
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.
12-07-2011 07:22 AM
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.
12-07-2011 07:49 AM
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
12-07-2011 11:21 AM
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.
12-07-2011 11:35 AM
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
12-07-2011 01:57 PM
I went ahead and created the following tech note based on my findings here.
12-08-2011 12:24 AM
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