Enterprise Vault Event Log Entry:
Log Name: Veritas Enterprise Vault
Source: Accelerator Service Processor
Event ID: 185
Level: Error
Description:
APP AS - Customer ID: X - An Error has occured when updating a marking item. System.Data.SqlClient.SqlException (0x80131904): Cannot use the ROW granularity hint on the table "dbo.tblIntDiscoveredItems" because locking at the specified granularity is inhibited.
at Symantec.EnterpriseVault.DatabaseAccess.EVSqlBase.Do[T](Func`1 action)
at Symantec.EnterpriseVault.DatabaseAccess.EVSqlDataAdapter.Update(DataSet dataSet)
at KVS.Accelerator.Common.TraceDLCommand.Update(IEVDbDataAdapter adapter, DataSet ds, Boolean RetryDLs)
at KVS.Accelerator.Items.DiscoveryItems.UpdateDS(DiscoveryItemDS DS)
ClientConnectionId:1234ABCD-12AB-34CD-56EF-123456ABCDEF
Error Number:651,State:1,Class:16
V-437-185
DTrace entries:
[1234] (AcceleratorService) <5678> EV-L {EVSqlBase.ShouldExcludeSqlException} Error 'Cannot use the ROW granularity hint on the table "dbo.tblIntDiscoveredItems" because locking at the specified granularity is inhibited.' is not transient. 'EVSqlDataAdapter:
Select: EVSqlCommand: DB: server=
Update: EVSqlCommand: DB: server=
Delete:
Insert:
[1234] (AcceleratorService) <5678> EV-L {EVSqlBase.ShouldRetry} Error 'Cannot use the ROW granularity hint on the table "dbo.tblIntDiscoveredItems" because locking at the specified granularity is inhibited.' is excluded. 'EVSqlDataAdapter:
Select: EVSqlCommand: DB: server=
Update: EVSqlCommand: DB: server=
Delete:
Insert:
[1234] (AcceleratorService) <5678> EV-H {EVSqlBase.LogFailureAndThrow} Failed to execute 'EVSqlDataAdapter:
Select: EVSqlCommand: DB: server=
Update: EVSqlCommand: DB: server=
Delete:
Insert:
[1234] (AcceleratorService) <5678> EV-H {-} Exception: Error Items_UpdateMarkingError
Info:{AcceleratorEvent} {CX} An Error has occured when updating a marking item.
System.Data.SqlClient.SqlException (0x80131904): Cannot use the ROW granularity hint on the table "dbo.tblIntDiscoveredItems" because locking at the specified granularity is inhibited.
| at Symantec.EnterpriseVault.DatabaseAccess.EVSqlBase.Do[T](Func`1 action)
| at Symantec.EnterpriseVault.DatabaseAccess.EVSqlDataAdapter.Update(DataSet dataSet)
| at KVS.Accelerator.Common.TraceDLCommand.Update(IEVDbDataAdapter adapter, DataSet ds, Boolean RetryDLs)
| at KVS.Accelerator.Items.DiscoveryItems.UpdateDS(DiscoveryItemDS DS)
|ClientConnectionId:1234ABCD-12AB-34CD-56EF-123456ABCDEF
|Error Number:651,State:1,Class:16
Diag: Type:System.Exception
ST: Inner:None
[1234] (AcceleratorService) <5678> EV-H {RBO_Items} Exception: Cannot use the ROW granularity hint on the table "dbo.tblIntDiscoveredItems" because locking at the specified granularity is inhibited.
Info:{CX} RBO method failed
Diag:Num:651 State:1 Sev:16
Svr:
Proc: Line:1
Type:System.Data.SqlClient.SqlException
ST:
at KVS.Accelerator.Items.DiscoveryItems.UpdateDS(DiscoveryItemDS DS)
| at KVS.Accelerator.RBO.RBO_Items.UpdateItem(Int32 proxyID, Int32 itemSetID, DiscoveryItemDS itemDS, ItemTagOperationCollection tagOps, ItemTagsDS& itemTagsDS)
Inner:None
The issue is rarely seen and is caused by an incorrect setting within an index associated to the table in the SQL Customer database that houses the items' information. The incorrect setting prevents the row containing the item's information from being locked so as to apply the Mark, thus preventing the item's information from being updated.
The affected index is typically the primary key index associated with the table. This can be confirmed by running the following query against the Customer database and viewing the results which should list the affected indices:
SELECT [Database] = db_name(), *
FROM sys.indexes
WHERE allow_row_locks = 0
ORDER BY name, object_id, index_id;
The issue can be resolved with technical support's assistance. First obtain the results of the above query and save the results to file:
1. Run the above query against the Customer database.
2. Right-click in the results | Select All | Right-click in the results again | Copy With Headers | Paste into a new spreadsheet in Excel.
Then contact technical support and provide the file for analysis.