Limitations and considerations

operators
#tsql#operators

Earlier vector index version limitations

Current limitations (applies to the latest version too)

To resolve this error, remove the

parameter from

and use the

syntax instead. For detailed information, see

Error using legacy syntax.

Earlier vector index versions have the following additional limitations. To check your index

version, see

Verify the index version.

: Predicates are applied only after vector retrieval, not during the search

process. This can result in fewer rows returned than expected when filters are applied.

: Tables with vector indexes are read-only. No DML operations (INSERT,

UPDATE, DELETE, MERGE) are allowed after the vector index is created. Use the

database scoped configuration to enable DML operations if

you can tolerate stale search results.

: You must manually adjust the

parameter in

to compensate for post-filtering, often requiring oversized values to get the desired

number of results.

The current preview has the following limitations:

Vector indexes can’t be partitioned. No partition support.

The table must have a primary key clustered index.

Vector indexes aren’t replicated to subscribers.

Tables with vector indexes can’t be truncated using. To remove all data,

drop the vector index first, truncate the table, repopulate with at least 100 rows, then

recreate the index. For more information, see

TRUNCATE TABLE restrictions.

Vector indexes can’t be deployed with DacPac or BACPAC. Vector indexes require at least

100 rows with non-NULL vectors at creation time. When you import a database using

Workaround

Minimum row count

Error behavior

Example error:

Minimum data requirements

TOP_N

VECTOR_SEARCH

SELECT TOP (N) WITH APPROXIMATE

ALLOW_STALE_VECTOR_INDEX

TOP_N

VECTOR_SEARCH

TRUNCATE TABLE
Msg 42274, Level 16, State 1
Vector search with version 3 index does not support explicit TOP_N parameter.