用途:在 Azure SQL Database 中原生存储向量并做相似度检索,涵盖 vector 列类型、VECTOR_DISTANCE 距离计算、DiskANN 向量索引与 VECTOR_SEARCH 近似搜索。
主要能力:vector 类型以 JSON 数组读写,维度 1 至 1998,默认 float32(float16 为预览);VECTOR_DISTANCE 支持 'cosine'、'euclidean'、'dot' 三种度量,返回距离(越小越近),dot 返回负内积;VECTOR_NORM、VECTOR_NORMALIZE、VECTORPROPERTY 已正式可用;CREATE VECTOR INDEX、VECTOR_SEARCH、TOP (N) WITH APPROXIMATE 为预览,按区域推出。
使用方式:建表时用 vector(5) 等声明列,插入时 CAST(JSON_ARRAY(...) AS vector(5));建索引需表已有聚集索引且至少 100 行非空向量,每列仅一个向量索引,度量在建索引时固定。查询须用 VECTOR_SEARCH(...) 配合 SELECT TOP (N) WITH APPROXIMATE 才会走 Vector Index Seek;ORDER BY VECTOR_DISTANCE(...) 始终精确全表扫描,不报错。可用 WITH (FORCE_ANN_ONLY) 让无可用索引时报 Msg 42227。旧写法 TOP_N 会报 Msg 42274。
适用场景:需要在 Azure SQL 内做向量检索、且能接受预览特性风险的应用。
限制:向量列不能做主键、唯一、外键、CHECK、DEFAULT、分区键、sql_variant、内存优化表,不能 ALTER 维度;查询中不能 ORDER BY/GROUP BY 该列、DISTINCT、比较运算、UNION/INTERSECT/EXCEPT、建统计信息;不支持 Always Encrypted;TRUNCATE、ALTER INDEX REBUILD/DISABLE、dacpac/bacpac 导入均受限。本地容器可建索引,但生产计划与安全行为需在 Azure SQL Database 上验证。其余细节资料未提供。