EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB16648: Why do INSERT statements from StatisticsFailedSQLs.log fail with duplicate records when manually run against the MicroStrategy Enterprise Manager 9.x warehouse?


Community Admin

• Strategy


Why do INSERT statements from StatisticsFailedSQLs.log fail with duplicate records when manually run against the MicroStrategy Enterprise Manager 9.x warehouse?

Strategy Intelligence Server 9.x periodically writes statistics to the warehouse statistics tables by issuing SQL statements against the Strategy Enterprise Manager 9.x warehouse database. If after 10 seconds (default timeout for statistics inserts) a SQLSuccess message has not been received for a statement, Strategy Intelligence Server 9.x considers the statement as failed, issues a SQLCancel statement and writes the original statement to the StatisticFailedSQL.log file. The following Strategy Knowledge Base technical notes cover in more detail what actions the Strategy Intelligence Server 9.x takes when a statistics SQL statement has failed:
 

  • KB11520 (KB5300-800-0634): Memory usage on Strategy Intelligence Server machines increase when the statistics database undergoes slow performance
  • KB9868 (KB5300-7XX-0478): How is query cancellation facilitated by the Strategy Query Engine?

It is possible for the database to finish processing a SQL statement and send the Strategy Intelligence Server 9.x a SQLSuccess message which does not arrive before the 10 second timeout. In this case, the Strategy Intelligence Server 9.x issues the SQLCancel statement and writes the original SQL statement to the StatisticFailedSQLs.log file; the SQLSuccess message which arrives after the timeout is ignored. It would appear then that the statement has failed when it was actually successful and the data has been created in the statistics tables. When the user later manually runs the INSERT statements in the StatisticFailedSQLs.log, an error is encountered stating that the data rows already exist in the database. These INSERT statements can be discarded as the data has already been successfully inserted.
 


Comment

0 comments

Details

Knowledge Article

Published:

June 7, 2017

Last Updated:

June 7, 2017