This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Move Archive Manager to 2016 Core Server

Hello,

Im in the process of updating our older server architecture and our AM 5.3 server is on a 2008 R2 machine that needs to die.

Im wanting to migrate the data onto a new Windows Server Core (1803) installation, utilising AM 5.4.

All servers are virtual and ill be detaching the data disk from the old server and moving it directly to the new for the FTI and data stores.

Our Database is hosted on a 2012 SQL Server and ill be migrating that to a 2016 SQL Server also.

Questions:

It appears from my initial testing that AM 5.4 will install on a Server Core machine, however is this supported and tested or not? Are there any caveats I need to be aware of with this setup?

Is there anything I need to be aware of, or accomplish first, prior to attaching the disk to the new server, migrating and upgrading the database, then installing v5.4?

Any info/help is appreciated.

Parents
  • Hello ,

    It shouldn't matter what the machine is, as long as the machine is running one of the Support Operating Systems as per the System Requirements:

    https://support.quest.com/technical-documents/archive-manager/5.5/release-notes/2#TOPIC-987032

    I would also install 5.5, and not 5.4, to take advantage of the latest fixes. 

    Regarding anything to be aware of, you need to make sure the Drive Paths do not change as per what is referenced in the AM SQL Database. If the paths change in anyway, then the links/references in the database will become invalid and you may run into issues with things such as the Index or Attachments. Ensure the drive paths are exactly the same as what they previously were. If possible, you may want to consider naming the machine exactly what it was before. 

    Thank you,

    Dave
    Quest Support

  • Hi David, Thanks so much for your information. I have managed to move my database onto a new SQL Server, installed v5.5 onto a 2016 Core Server and verified that my IIS is working as expected.

    The only issue I have is when running through the Configuration Console the configurator sits on "Configuring Storage Location" for hours and doesnt seem to do anything. I have reused the drive from the old Server with the same Drive letter (was a VM so detached from old server and attached to new) and folder structure is the same.

    Any ideas what could be causing this behaviour? Or is this rebuilding the FTI? 

    Cheers

  • Hello Doug, 

    The Storage Location would not have anything to do with the FTI as the Storage location is for the location of your attachments themselves, and not the Index, unless perhaps the SQL server is busy and it is trying to update the tables in the database. 
    If the Configuration Console is hanging please check the ConfigConsole.wlog located in the Logs directory. 
    If you're unable to resolve the issue I highly recommend that you open a new Service Request so that we can properly address the issue you're having:

    https://support.quest.com/contact-support

    Thank you,
    Dave

  • Hi David,

    So after a long Saturday of trying to get this working we have found that something significant has changed with 5.5's SQL config. trying to use the migrated database (migrated from SQL2012 to SQL2016), no settings/collation changed, all the same AD-integrated user accounts, the new Windows Server 2016 Archive Manager server spits out error after error of service user credentials being unable to utilise the database. No matter what permissions the service accounts are given, they continuously generate errors. 

    Some look like this: 

    2018-10-06 16:05:38,826 [8] ERROR DataLoader.Loader - {{18f1637d-0d22-4620-a648-1ccb8ea2208c}} DataLoader SQL Error

    System.Data.SqlClient.SqlException (0x80131904): Could not find stored procedure 'dbo.DataLoaderList'.

       at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

       at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)

       at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)

       at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()

       at System.Data.SqlClient.SqlDataReader.get_MetaData()

       at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)

       at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)

       at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)

       at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)

       at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)

       at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)

       at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)

       at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)

       at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)

       at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)

       at Quest.AM.Configuration.Common.SqlHelper.ExecuteDataset(SqlConnection sqlConnection, SqlCommand sqlCommand)

       at Quest.AM.BusinessLayer.DataLoader.SelectDataLoaderByIdOrGroup(String connection, Int32 dataloaderID, String groupName)

       at Quest.AM.DataLoader.Loader.MainLoop()

    ClientConnectionId:3deb605f-0253-4a7b-b178-cf12bc34052a

    Error Number:2812,State:62,Class:16

    Others look like this:

    2018-10-06 09:35:51,205 [11] ERROR ConfigurationController - Error - Error configuring Service User Credentials.

    System.Data.SqlClient.SqlException (0x80131904): User does not have permission to perform this action.

       at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

       at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)

       at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)

       at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)

       at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)

       at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()

       at Quest.AM.Setup.NewInstallWorker.ExecuteSql(String database, String sql)

       at Quest.AM.Setup.NewInstallWorker.SetDBUserRole(String databaseName, String tempDatabaseName, String sqlUsername, String grantUserSql, String grantDbAccess, String grantRoleLogin, String addServerRoleMember)

       at Quest.AM.Setup.NewInstallWorker.CreateUserPermissions(String databaseName, Boolean isWindowsAuth, String sqlUsername, String sqlPassword, List`1 users, Boolean isCurrentUser)

       at Quest.AM.Setup.NewInstallWorker.CreateUserPermissions(String connectionString, List`1 users)

       at Quest.AM.Tools.ConfigurationEngine.Helper.ServiceUserSetupHelper.Apply(ServiceUserData applyingData, Action onTaskComplete)

       at Quest.AM.Tools.ConfigurationEngine.ConfigurationController.ApplyConfiguration[T](IHelper`1 helper, T configData, String configurationDisplayText, ConfigurationStatus exceptionLogType)

    ClientConnectionId:834a5953-dc1d-4ffc-9bc2-b0f3078f8e15

    Error Number:15247,State:1,Class:16

    We have also found that Windows Auth on the IIS Site is intermittent at best, and the database is creating schema objects under another user account (my logged in admin account), rather than the service users.

    I have filed a support request with Quest as so far this version upgrade has been nothing but headaches and im contemplating either paying some overpriced contractor to step in or sticking with the old Dell version as at least it works well. Failing that it might be time to look at a better more robust solution anyway.

    Thanks for your suggestions so far.

  • Hi Doug, 

    I have sent you a PM to obtain the SR number so that I can look into it. 

    This is the first that this message has been reported and all upgrades have gone smooth to date: "Could not find stored procedure 'dbo.DataLoaderList'.", 

    For Error - Error configuring Service User Credentials.
    Are you logged in as the ArchiveMgr_ESM account, or an account that has Local Administrator rights on the Archive Manager server as well as sysadmin rights on the SQL server (sysadmin can be removed after the upgrade). I'm going to guess it's your own account with the rights based on your comments in the rest of your post. 

    We have also found that Windows Auth on the IIS Site is intermittent at best, and the database is creating schema objects under another user account (my logged in admin account), rather than the service users.


    - This one here Windows Auth should work fine, we will need to address these issues via a Service Request which you have opened and most likely a Remote WebEx session. The Database Scripts would be creating the objects under the currently logged in account, and not the service users as the currently logged in account was the one to run the upgrade. Scripts would always be executed under the currently logged in account as that is what the installer was ran with. I have sent you a PM. 

    Thank you,
    Dave

Reply
  • Hi Doug, 

    I have sent you a PM to obtain the SR number so that I can look into it. 

    This is the first that this message has been reported and all upgrades have gone smooth to date: "Could not find stored procedure 'dbo.DataLoaderList'.", 

    For Error - Error configuring Service User Credentials.
    Are you logged in as the ArchiveMgr_ESM account, or an account that has Local Administrator rights on the Archive Manager server as well as sysadmin rights on the SQL server (sysadmin can be removed after the upgrade). I'm going to guess it's your own account with the rights based on your comments in the rest of your post. 

    We have also found that Windows Auth on the IIS Site is intermittent at best, and the database is creating schema objects under another user account (my logged in admin account), rather than the service users.


    - This one here Windows Auth should work fine, we will need to address these issues via a Service Request which you have opened and most likely a Remote WebEx session. The Database Scripts would be creating the objects under the currently logged in account, and not the service users as the currently logged in account was the one to run the upgrade. Scripts would always be executed under the currently logged in account as that is what the installer was ran with. I have sent you a PM. 

    Thank you,
    Dave

Children
  • Hi David,

    The account is our Domain Administrator Account which does not have sysadmin rights on the SQL Server. I tried to run the v5.5 installer with the ArchiveMGR_Service account, but the installation failed (most likely due to permissions on the database also).

    So,

    1. Should I run the Installer using the ArchiveMGR_ESM or ArchiveMGR_Service account?

    2. Whichever one I run it with needs to have sysadmin rights on the SQL server correct?

    The _Service user is a Domain Admin, however the ESM account isnt. I did not install the previous server, it was done by an external contractor years ago, so no-one onsite is 100% on the steps, other than what is in the Exchange Install PDF, which doesnt appear to mention anything about specific SQL Server rights that I could see..

    IIS is run using the _Service Account, so I see no reason that Windows Auth wouldnt work considering the permissions above.

  • Ok, so after following your suggestion and using the Service account with Sysadmin permissions I can get the configuration console to complete without error. The final issue is the IIS Authentication, which doesnt work with ANY option at this point. Ideally I want Windows Authentication working, but after mirroring settings from the old server and copying several other local IIS sites I still cannot get it to work. There has to be something im missing however I definitely cant see anything obvious