Issue:

You may notice in the log that the Office 365 module or the Shortcut Process module is trying to create a connection to the EV database when it wants to execute the command Office365CollectShortcutsFromMailbox, but it fails with the errors below.

Example 1

2020-02-06 09:07:11Z| 3344| 98|ERROR| <ProcessCommand>b__0|Error while processing commands. ArchiveShuttle.DAL.EV.Wrapper.Directory.EVDALBase GetEVDAL(System.String, System.String)
Could not read SchemaVersion from EVDirectory on EV SQL SERVER
at ArchiveShuttle.DAL.EV.Wrapper.Directory.EVDALFactory.GetEVDAL(String sqlServer, String dbName)
at ArchiveShuttle.Modules.ExchangeModuleLibrary.EnterpriseVault.EnterpriseVaultMailboxArchiveHelper..ctor(String sqlServer, String directory)
at ArchiveShuttle.Modules.ExchangeModuleLibrary.EnterpriseVault.EnterpriseVaultShortcutCollector.get_SearchResultProcessor()
at ArchiveShuttle.Modules.ExchangeModuleLibrary.CommandExecution.Shortcuts.CollectShortcutsCommandExecutor.Execute(ModuleCommand command)
at ArchiveShuttle.Modules.ExchangeModuleLibrary.ModuleLibrary.<>c__DisplayClass30_0.<ProcessCommand>b__0(Object <p0>, DoWorkEventArgs <p1>)
Void .ctor(System.Data.ProviderBase.DbConnectionPoolIdentity, System.Data.SqlClient.SqlConnectionString, System.Data.SqlClient.SqlCredential, System.Object, System.String, System.Security.SecureString, Boolean, System.Data.SqlClient.SqlConnectionString, System.Data.SqlClient.SessionData, System.Data.ProviderBase.DbConnectionPool, System.String, Boolean, System.Data.SqlClient.SqlAuthenticationProviderManager)
Login failed for user 'ServiceAccount'.
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling, SqlAuthenticationProviderManager sqlAuthProviderManager)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)

 

Example 2

2018-06-27 12:40:07Z|1695| 14|ERROR|                         b__62_0|Error in a worker thread.  ArchiveShuttle.DAL.EV.Wrapper.Directory.EVDALBase GetEVDAL(System.String, System.String)
Could not read SchemaVersion from EVDirectory on EV SQL SERVER
   at ArchiveShuttle.DAL.EV.Wrapper.Directory.EVDALFactory.GetEVDAL(String sqlServer, String dbName)
   at ArchiveShuttle.Modules.ExchangeModuleLibrary.EnterpriseVault.EnterpriseVaultMailboxArchiveHelper..ctor(String sqlServer, String directory)
   at ArchiveShuttle.Modules.ExchangeModuleLibrary.EnterpriseVault.EnterpriseVaultShortcutCollector.get_SearchResultProcessor()
   at ArchiveShuttle.Module.ShortcutPostprocessModule40.CommandExecution.Ews.Office365ShortcutCollector.Execute(ModuleCommand command)
   at ArchiveShuttle.Modules.ExchangeModuleLibrary.EwsCommandExecutor.ProcessCommand(ICommandExecutor commandExecutor, ModuleCommand command)
   at ArchiveShuttle.Module.ShortcutPostprocessModule40.Logic.ProcessCommand(ModuleCommand command)
   at ArchiveShuttle.Modules.Common.BaseClasses.LogicCancelation.<>c__DisplayClass72_0`1.b__0(Object arg)
   at Amib.Threading.Internal.WorkItem.ExecuteWorkItem()
Void .ctor(System.Data.ProviderBase.DbConnectionPoolIdentity, System.Data.SqlClient.SqlConnectionString, System.Data.SqlClient.SqlCredential, System.Object, System.String, System.Security.SecureString, Boolean, System.Data.SqlClient.SqlConnectionString, System.Data.SqlClient.SessionData, System.Data.ProviderBase.DbConnectionPool, System.String, Boolean)
Login failed for user 'ServiceAccount'.

Details and Solution:

This is by design. The module tries to get the archive name from the EV database during shortcut collection. In this case, it is failing and the impact will be that there is no shortcut collection via the Office 365 module or the Shortcut Process module.
The module needs to run under a user who has access to the EV database, or grant access to the user which you see in the error logs.
There is a plan to move all shortcut processing to the Shortcut Process module and we would like to remove the EV Database calls from the Office 365.

Print Friendly, PDF & Email