How to move the Index Location to a different location on a different server

Article: 100038163
Last Published: 2017-12-22
Ratings: 0 0
Product(s): Enterprise Vault

Description

There may be an instance where indexes will need to be moved to an index location on a different index server.  This can be done for all volumes in a location or can be changed for just one archive.
 
 
Resolution:
 
If working with Index Server Groups, the TARGET Index Server must be in the same Index Server Group as the SOURCE Index Server.
  1. Back up the SQL databases and the EV server.
  2. Stop all EV services on the server.
  3. Copy the contents of the index location from the old location to the new root path location. If a new index location is desired, it should be created before copying the indexes. This can be done on the "Index Locations" tab
To determine the index location, run the SQL query below:
 
USE EnterpriseVaultDirectory
SELECT CE.ComputerName, CE.ComputerNameAlternate, IRP.IndexRootPathEntryID, IRP.IndexRootPath, ISE.ServiceEntryID, ISE.Description

FROM ComputerEntry CE, IndexingServiceEntry ISE, IndexRootPathEntry IRP
WHERE CE.ComputerEntryID = ISE.ComputerEntryID AND ISE.ServiceEntryID = IRP.IndexServiceEntryID
ORDER BY CE.ComputerName  

Take note of the IndexRootPathEntryIDs for the old index root path and the new index root path. 
  1. Run the following query in SQL Server Management Studio to update the index locations in the database

Note:
old IndexRootPathEntryId should be replaced with the IndexRootPathEntryId value returned for the old index root path in step 3.
new IndexRootPathEntryId should be replaced with the IndexRootPathEntryId value returned for the new index root path in step 3.

USE EnterpriseVaultDirectory
DECLARE @OrigIndexRootPathEntryId EVGUID
DECLARE @NewIndexRootPathEntryId EVGUID

SET @OrigIndexRootPathEntryId = 'old IndexRootPathEntryId'
SET @NewIndexRootPathEntryId = 'new IndexRootPathEntryId'
            
-- Update the index volumes to point at the new location
UPDATE IndexVolume
SET IndexRootPathEntryId = @NewIndexRootPathEntryId
WHERE (IndexRootPathEntryId = @OrigIndexRootPathEntryId)

-- Inform EV that it needs to update the paths of the volumes on service startup
UPDATE IndexingServiceEntry
SET IVSyncNeeded = 2
WHERE ServiceEntryId IN (SELECT IndexServiceEntryId FROM IndexRootPathEntry WHERE
IndexRootPathEntryId IN(@OrigIndexRootPathEntryId, @NewIndexRootPathEntryId))
  1. Following completion of the SQL script, restart all Enterprise Vault Services.
Note:
When the Indexing Services start up, they will synchronize their respective index volume metadata, depending on the number of index volumes associated with the index root path relocation, this may take some time. The progress can be monitored in the Event Log.

Was this content helpful?