There's "descriptive" and then there's "tediously long". Unfortunately, that naming scheme drifts into the latter category.
ArcSDE was ported to SQL-Server from Oracle, and needs to maintain a least common denominator on naming lengths across all RDBMS products.
The current constants used throughout ArcSDE code are:
#define SE_MAX_COLUMN_LEN 32 /* MAXIMUM COLUMN NAME LENGTH */
#define SE_MAX_TABLE_LEN 160 /* MAXIMUM TABLE NAME LENGTH */
#define SE_MAX_SCHEMA_TABLE_LEN 30 /* MAXIMUN TABLE 'ONLY' NAME LENGTH */
#define SE_MAX_ALIAS_LEN 32 /* MAXIMUM TABLE ALIAS LENGTH */
#define SE_MAX_ENTITY_LEN 256 /* MAXIMUM ENTITY TYPE LENGTH */
#define SE_MAX_HINT_LEN 1024/* MAXIMUM DBMS HINT LENGTH */
#define SE_MAX_SCHEMA_LEN 32 /* MAXIMUN SCHEMA NAME LENGTH */
#define SE_MAX_OWNER_LEN 32 /* MAXIMUM TABLE OWNER NAME LENGTH */
#define SE_MAX_INDEX_LEN 160 /* MAXIMUM INDEX NAME LENGTH */
#define SE_MAX_GROUP_LEN 128 /* MAXIMUM GROUP NAME LENGTH */
#define SE_MAX_COLUMNS 500 /* MAXIMUM NUMBER OF COLUMNS */
#define SE_MAX_ANNO_TEXT_LEN 255 /* MAXIMUM ANNOTATION TEXT LENGTH */
#define SE_MAX_VERSION_LEN 64 /* MAXIMUM VERSION NAME LENGTH */
#define SE_MAX_OSNAME_LEN 64 /* MAXIMUM OPERATING SYSTEM NAME LENGTH */
#define SE_MAX_OSVERSION_LEN 128 /* MAXIMUM OPERATING SYSTEM VERSION LENGTH */
#define SE_MAX_DBMSVERSION_LEN 128 /* MAXIMUM DATABASE VERSION LENGTH */
#define SE_MAX_VERSION_INPUT_LEN 62 /* MAXIMUM USER-SUPPLIED VERSION NAME LENGTH */
#define SE_MAX_OBJECT_NAME_LEN 160 /* MAXIMUM OBJECT NAME LENGTH */
In practice the limits are generally one space *less* than the _LEN value (to allow for a NUL
terminator) -- although this does not apply to SE_MAX_SCHEMA_TABLE_LEN.
- V
[Edited to format include file contents legibly]