I get an error when running the sqlserver script to set the databases up. The error is:
Server: Msg 1903, Level 16, State 2, Line 140
900 is the maximum allowable size of an index. The composite index specified is 4128 bytes.
Server: Msg 1750, Level 16, State 1, Line 140
Could not create constraint. See previous errors.
Also, it looks like the constraint name is misspelled in the following block:
CREATE TABLE jiveSASLAuthorized (
username NVARCHAR(64) NOT NULL,
principal NVARCHAR(2000) NOT NULL,
CONSTRAINT jiveSASLAuthoirzed_pk PRIMARY KEY (username, principal)
Shouldn’'t it be?:
CONSTRAINT jiveSASLAuthorized_pk PRIMARY KEY (username, principal)
Please let me know if you have any idea what is causing the error.
which MSSQL version are you using? Maybe this index is fine only for the newest MSSQL server but as I don’‘t run MSSQL I can’'t confirm.
A lot of databases limit the characters one can use for an index.
Microsoft SQL Server 7.00 - 7.00.1094 (Intel X86)
This happens in SQL Server 2005 too…
Warning! The maximum key length is 900 bytes. The index ‘‘jiveSASLAuthoirzed_pk’’ has maximum length of 4128 bytes. For some combination of large values, the insert/update operation will fail.
So, what shoud we do in such a case? Reject using of SQL external database?
Can anybody say how to encrease number of characters that are used for an index in SQL Server 2000? Help please!
Just inserting a link to the related post http://www.jivesoftware.org/community/thread.jspa?messageID=126331 and one should create a JM-issue to get this fixed.
added: One may want to vote for JM-899.