While attempting to process DLP cubes, the below error was displayed when processing a specific dimension.
Warning WarningCode="2165374978" Description="Errors in the back-end database access module. The size specified for a binding was too small, resulting in one or more column values being truncated." Source="Microsoft SQL Server 2012 Analysis Services" HelpFile="" /><Error ErrorCode="3240034317" Description="Errors in the OLAP storage engine: An error occurred while the 'Message Component - Document Format' attribute of the 'DLP Incident Message Component Document Format' dimension from the 'ITAnalytics' database was being processed."
A similar error has also been seen on processing the DLP Recipient Condition dimension, specifically on the IP Address, Email and URL fields.
This was also seen on the ENDPOINTMACHINENAME field of the EndPoint Incident Dimension.
IT Analytics for DLP 2.1.9
The "Message Component - Dcoument Format" attribute of the dimension "DLP Incident Message Component Document Format" had a Name Column data size that it was attempting to use that was not big enough.
For the DLP Recipient Condition Dim dimension, there was a sizing mismatch in the vITAnalytics_DLP_RecipientConditionDim view. The IPADDRESS value was set to 2000 but the attribute value in the dimension was set to 512
The ENDPOINTMACHINENAME field was too small for the incoming values.
1. The steps for this issue are specific to the listed dimension, and potentially specific to the individual environment. You may need to look at the specifics for other dimensions to resolve other binding size issues.
1. Open SQL Server Management Studio
2. Open the Analysis Server and find the "DLP Incident Message Component Document Format" dimension
3. Right-Click on the dimension>Script Dimension as>ALTER TO> New Query Editor Window
4. Search for the "Message Component - Document Format" attribute.
5. We noticed that the name column had a small value (20) and so we doubled that value to 40.
6. We executed the dimension to save the changes, and attempted to process the dimension. It successfully processed, and so did the cube afterwards.
For the DLP Recipient Condition Dim dimension, open the vITAnalytics_DLP_RecipientConditionDim view in an ALTER view command.
Change the statement that reads:
convert(nvarchar(2000),IPADDRESS) as [IPADDRESS]
to
convert(nvarchar(512),IPADDRESS) as [IPADDRESS]
press F5 to save the change to the view. You should now be able to process the dimension, and the associated cubes.
2. For the ENDPOINTMACHINENAME fix, the process is similar to above, except you will be modifying the vITAnalytics_DLP_Endpoi
MESSAGEORIGINATOR.ENDPOI
to
cast(MESSAGEORIGINATOR.ENDPOI
Run the ALTER query, and then you can process the cubes and dimensions normally.
3: For binding issues in the DLP Incident History cube, related to the DLP Incident History Dim, the steps are the same, except for below:
Open the two following views:
vITAnalytics_DLP_IncidentActionFact
vITAnalytics_DLP_IncidentActionDetailDim
Change the references in the OPENQUERY section to ACTIONDETAIL. We modified both ACTIONDETAIL lines to read:
,CAST (ACTIONDETAIL as varchar (1024)) as ACTIONDETAIL
And resaved the views.