- Removing Schema fields
- Posted by Nick Randolph on July 8th, 2003
Hi
I have added a field to the contact entity using the Deployment manager and
have encountered two problems:
(1) Firstly, how on earth do I remove fields I don't want.
(2) The field I added was a 500 length string. It seemed to add ok
(although it took a long time), but when I go to add another field it throws
an error and refuses. When I look in the event log it claims that the
maximum row length of approx 8000 has been exceeded. Does this mean that
there is a limit on the number and length of attibutes that can be added?
Is there a way around this limitation?
Cheers
Nick
- Posted by Ryan on July 8th, 2003
1) At this time, I do not belive there is a way to remove schema fields. (I
know, this seems silly)
Not sure about second concern.
"Nick Randolph" <randolph@seawa.org.au> wrote in message
news:ulkQBUURDHA.3880@tk2msftngp13.phx.gbl...
- Posted by John O'Donnell on July 8th, 2003
here is the answer to the second question
Document ID: 28709
Date Created: 1/6/2003
Date Last Modified: 4/10/2003 10:52:25 AM
Language: English - United States
Country: USA
Product: Microsoft CRM
Versions: 1.0
Modules: Microsoft CRM System Customization
Issue
Error - "dmLog: New size of the attribute ({...}) exceeds SQL Server row
limit of 8000 bytes." occurs when trying to add custom fields to Microsoft
CRM.
Resolution
This error may occur when you are doing a Microsoft CRM customization, but
the error actually is a SQL Server limitation, not a Microsoft CRM one. The
issue is not the number of attributes that are added, rather the length of
each attribute. The sum (length) of all attributes for a given object
cannot exceed 8060 bytes. If it does reach this limit, you will receive an
error similar to the one above. So, whether or not your implementation will
reach this limit depends on the length of custom attributes that have been
added, on top of the attributes that exist out-of-the-box.
Note - Adding custom tables to the <Organization_Name>_MSCRM database is not
supported for Microsoft CRM v1.0.
The following are two queries you can execute to determine the number of
columns and row length in bytes. These queries should be executed against
your metabase database for Microsoft CRM. You will need to enter the
appropriate entityid's, which can be found in the Entity table in the
metabase.
SELECT MAX_COL_NUMBER = MAX(ColumnNumber) FROM Attribute WHERE EntityId =
N'{C0A328C7-B25D-4965-9E0B-BA7EF71A483E}'
SELECT SUM(Length) as TotalLength from Attribute WHERE EntityId =
N'{C0A328C7-B25D-4965-9E0B-BA7EF71A483E}' and IsLogical = 0
"Ryan" <rcalderhead@aspire.com> wrote in message
news:O7gSXKXRDHA.1624@tk2msftngp13.phx.gbl...
- Posted by Mark Heimonen on July 9th, 2003
You have to reuse the fields already in the database at that point. SQL
Server has a limitation that the total number of bytes cannot exceed their
8,000 limit. If you use varchar fields, you can have a row with a
theoretical limit much higher than that, but it will error if you actually
enter that much data in a single row.
To avoid this problem, Microsoft put the cap at 8,000 even though you can
safely have row with more data if you use varchar fields. I read a
workaround in another post in this newsgroup, but it would definately not be
supported by Microsoft.
The only solution at the moment is to look for an unused field in the
database with the same data type. Using the form customization tools,
re-label the field to what you would like to use it for. The drawbacks are
that you have to remember which fields you are remapping, and remember the
mappings when using workflow or the SDK.
"Dianne" <dmcalpine@adlibsys.com> wrote in message
news:038b01c3464e$0f7c1790$a301280a@phx.gbl...