way to get beyond 4GB string store limit?
- I swear I heard some speaker at the BI conference (Cristian? I can't remember) say that there was some connection string setting or something (maybe an msmdsrv.ini setting) that would allow you to get beyond the 4GB limit on string stores. He said to ask about it in the forums. Did I hear incorrectly? Or is there such a setting?
Answers
- There are two ways a user can run into the 4GB string store limit: 1) exceeding the limit in one of the temporary string stores created during processing; 2) exceeding the limit in one of the final string stores, such as attribute key/name string stores. In the first case, there is a server configuration property, PropertyBufferRecordLimitEnabled, inside msmdsrv.ini which, when set to 1, can reduce the maximum number of records inside a temporary processing buffer, hence indirectly limiting the number of strings added to the temporary string store associated with the temporary buffer. That may help when an attribute has a lot of directly related attributes which have string keys. But if your problem is not the same, then the configuration property doesn't help and I am not aware of any other configuration properties that can address the 4GB limit of a single string store.
All Replies
- There are two ways a user can run into the 4GB string store limit: 1) exceeding the limit in one of the temporary string stores created during processing; 2) exceeding the limit in one of the final string stores, such as attribute key/name string stores. In the first case, there is a server configuration property, PropertyBufferRecordLimitEnabled, inside msmdsrv.ini which, when set to 1, can reduce the maximum number of records inside a temporary processing buffer, hence indirectly limiting the number of strings added to the temporary string store associated with the temporary buffer. That may help when an attribute has a lot of directly related attributes which have string keys. But if your problem is not the same, then the configuration property doesn't help and I am not aware of any other configuration properties that can address the 4GB limit of a single string store.
- I recall asking this question at the BI Conference (not sure if this was at the same session as where Greg heard it). The scenario which was described in a number of posts (can't find any of them right now!) was of a large MOLAP fact dimension, created to support drillthrough. So would this translate to limits on the number of rows in a MOLAP fact dimension, beyond which one would have to resort to ROLAP?
Jeffrey-
Concerning the 4GB size of the final string store, which file extensions are the ones we should be worrying about? Just .ksstore, .asstore, .bsstore, and .string.data?
Yes, those files are subject to the 4GB limit.
Jeffrey
Page 341 of the Melomed/Gorbach/Berger/Bateman book says that the limit is 8GB. I checked with the authors and they confirmed that 8GB was the limit (which, with each char being unicode means 4 gig characters).
Just wanted to confirm with you. Jeffrey, that the above statement matches your understanding.
My two cents for 4 GB string limit:
For large dim we can move some string attributes to other named queries and create relation 1-1 with main dimension, SSAS will create many store sting files. But if only one attribute exceeds 4 GB it’s crazy idea but we can use CLR function to compress string column. In dim we create named calculation to decompress data J
Is there a way to check the current size of the store sting files via T-sql or SSIS?!
I would like to setup a job that checks the sizes off these files telling my when to do a full process on my cube before it reach the 4 GB limit.


