ALERT: Some images may not load properly within the Knowledge Base Article. If you see a broken image, please right-click and select 'Open image in a new tab'. We apologize for this inconvenience.

Error "The size specified for a binding was too small, resulting in one or more column values being truncated"

book

Article ID: 172959

calendar_today

Updated On:

Products

IT Analytics

Issue/Introduction

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.

Cause

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.

 

Environment

IT Analytics for DLP 2.1.9

Resolution

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_EndpointIncidentDim view.  You will change the line:

 

MESSAGEORIGINATOR.ENDPOINTMACHINENAME

 

to 

 

cast(MESSAGEORIGINATOR.ENDPOINTMACHINENAME as varchar(15)) as ENDPOINTMACHINENAME

 

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.