Hotfix for Symantec Enterprise Vault (EV) for File System Archiving 9.0, Build 1193, Data loss can occur when archiving files in the same folder with similar names and the same modified date.
|Article:TECH142249|||||Created: 2010-10-20|||||Updated: 2011-01-20|||||Article URL http://www.symantec.com/docs/TECH142249|
Which version of Symantec Enterprise Vault (tm) can this hotfix be applied to?
This hotfix can only be applied to the following versions of Enterprise Vault for:
Enterprise Vault for File System Archiving 9.0, Build 1193
Under rare circumstances during archival of file server data, Enterprise Vault File System Archiving (FSA) allocates the same SavesetId to two or more files. The result is that the data content is lost for some of the files. On placeholder recall, all the related placeholders recall just one of the files.
The problem can only occur when all of the following conditions apply:
- The files are on the same folder path
- The files have the same modified date (mDate)
- The content of the files is different
- The files have similar names
At least one of the file names include any of the following T-SQL wildcard characters:
_ % [ ] ^ (underscore, percent symbol, square brackets, or circumflex accent)
When a second file, matching the criteria described above, is being archived, the corresponding SQL stored procedure incorrectly interprets some of the file name characters as wildcard and reports that the file has already been previously archived. The second file gets the same SavesetId from the previous Saveset record. When the Placeholder shortcut is created, the content of the second file is deleted, therefore causing the data loss.
The stored procedures GetArchivedItemProperties and GetArchivedItemPropertiesInBatch have been changed to escape wildcard characters _ %  and [^] in case they are part of file name. They were earlier treated as part of SQL pattern to match.
What issue(s) does this hotfix resolve?
Files with 'almost' same name containing at least one of the SQL wildcard characters (%, _,  or [^]), located in same folder and having same modified date are linked to a single SavesetId.
Which files does this hotfix replace?
KVS.EnterpriseVault.StoreAccess.dll and, additionally, the Vault_GetArchivedItemPropertiesUpdate_2151708.sql stored procedure is used to update the original stored procedure.
How to Install this hotfix:
1. Stop all EV Services on all EV servers.
2. Backup Enterprise Vault Directory and Vault Store Databases.
3. Backup the original KVS.EnterpriseVault.StoreAccess.dll on all EV servers.
4. Replace KVS.EnterpriseVault.StoreAccess.dll included in this Hotfix on all EV servers' install directory (e.g. C:\Program Files\Enterprise Vault).
5. On each VaultStore Database, using a logon with the DBOwner role, Execute script Vault_GetArchivedItemPropertiesUpdate_2151708.sql.
6. Start all EV Services on all EV servers.
How to Uninstall this hotfix:
If for some reason, you need to roll back the changes made by this hotfix, do following:
1. Stop all EV Services on all EV servers.
2. Backup Enterprise Vault Directory and Vault Store Databases. This is recommended, because if things go wrong for some reason, you can restore these backed up DBs.
3. On Each and every VaultStore Database, using a logon with the DBOwner role, do following:
3.1 Drop Procedure GetArchivedItemProperties.
3.2 Copy and execute the code **only** for "CREATE PROCEDURE GetArchivedItemProperties" from VaultStoreDB_8_Programmability.sql, which is under EV install directory. **DO NOT** run the entire VaultStoreDB_8_Programmability.sql.
3.3 Drop Procedure [dbo].[GetArchivedItemPropertiesInBatch].
3.4 Copy and execute the code **only** for "CREATE PROCEDURE [dbo].[GetArchivedItemPropertiesInBatch]" from VaultStoreDB_8_Programmability.sql, which is under EV install directory. **DO NOT** run the entire VaultStoreDB_8_Programmability.sql.
5. Start all the EV Services on all EV servers.
1. Admin needs to run this script against each new vault store DB whenever a new vault store is created.
2. The data loss won't occur for archives that run after HF is applied. But for data that is already lost, it has to be recovered/restored from the backup and archive needs to be rerun after applying the HF.
Files with 'almost' same name are archived linked to a single SavesetId
Article URL http://www.symantec.com/docs/TECH142249