INF: Creation of Indexes and Memmove Error #632

ID Number: Q64609

1.10 1.11 4.20

OS/2

Summary:

This article discusses a very common cause for memmove() error

(error 632) and how to overcome it.

More Information:

Memmove() errors are commonly caused by index creation commands

of the form:

create clustered index pa_index on pa_new(catalog_number)

with allow_dup_row

The error has the following text:

Msg 632, Level 20, State 1:

Memmove() was called with a length of 20025 - maximum allowed

length is 2048.

The SQL Server is terminating this process.

DB-Library: General SQL Server error: Check messages from the SQL

Server.

The memmove() error #632 occurs during the creation of an index when

the extent of memory allocated for an index is not populated by data

at a particular point (the cut-off point is not known).

To work around this error, add dummy rows to the table you are trying

to create the index on so that the usage of memory will move past the

point where the error is occurring. Then create the index and remove

the dummy records.

Additional reference words: Transact-SQL