{"id":5292,"date":"2025-06-17T12:15:49","date_gmt":"2025-06-17T19:15:49","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/azure-sql\/?p=5292"},"modified":"2026-01-11T18:16:42","modified_gmt":"2026-01-12T02:16:42","slug":"sql-server-2025-ctp-2-1-diskann-improvements","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/azure-sql\/sql-server-2025-ctp-2-1-diskann-improvements\/","title":{"rendered":"SQL Server 2025 CTP 2.1: DiskANN Improvements"},"content":{"rendered":"<p><div class=\"alert alert-info\"><p class=\"alert-divider\"><i class=\"fabric-icon fabric-icon--Info\"><\/i><strong>SQL Server 2025 RTM is Available<\/strong><\/p>As of November 2025 the RTM of SQL Server 2025 is available. More details here: <a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/sql-server\/what-s-new-in-sql-server-2025?view=sql-server-ver17&amp;preserve-view=true\">What&#8217;s New is SQL Server 2025<\/a>. Everything mentioned in this article is still applicable and valid.<\/div><\/p>\n<p>I&#8217;m happy to announce that <a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/sql-server\/what-s-new-in-sql-server-2025?view=sql-server-ver17&amp;preserve-view=true#ctp-21\">SQL Server 2025 CTP 2.1 is now available<\/a>, and it brings significant improvements to DiskANN support. While DiskANN remains in preview, each release continues to remove limitations and boost performance. In this release, we\u2019ve made a particularly notable leap in vector index creation speed, with more enhancements on the horizon.<\/p>\n<h2>What\u2019s New in DiskANN<\/h2>\n<p>DiskANN is Microsoft\u2019s algorithm for large-scale vector search and recommendation systems. It\u2019s designed to scale to web-sized datasets while maintaining high recall and performance. With SQL Server 2025, DiskANN is fully integrated into the engine, allowing developers to use familiar T-SQL syntax to build intelligent, AI-powered applications.<\/p>\n<p>Key improvements for DiskANN in this release include:<\/p>\n<ul>\n<li>Much faster vector DiskANN index creation<\/li>\n<li>No more SCH-M lock during index creation<\/li>\n<li>New <a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/relational-databases\/system-catalog-views\/sys-vector-indexes-transact-sql?view=sql-server-ver17\" data-linktype=\"relative-path\">sys.vector_indexes<\/a> catalog view<\/li>\n<li>Support for updated TDS 8.0 protocol to have vector data sent and received in binary format. (Drivers to take advantage of this will follow soon)<\/li>\n<\/ul>\n<p>To showcase DiskANN end-to-end, I created a sample based on a dataset originally built by our friends on the Postgres team. Thanks to the developer experience improvements in SQL Server 2025, porting the sample took me less than 30 minutes. Along the way, I also got to highlight some of the new features:<\/p>\n<ul>\n<li>External Models<\/li>\n<li>Azure AI Integration<\/li>\n<li>Invoking REST Endpoints<\/li>\n<li>Native JSON Data Type<\/li>\n<\/ul>\n<p>One of my favorite tricks is using <code>sp_invoke_external_rest_endpoint<\/code> to download <a href=\"https:\/\/jsonlines.org\/\">JSON Lines<\/a> files directly from GitHub. It\u2019s a small thing, but it really shows how SQL Server is evolving into a modern, developer-friendly platform: give me a REST endpoint and I&#8217;ll move the world!<\/p>\n<h2>Exact vs Approximate Vector Search<\/h2>\n<p>The sample also gave me a great opportunity to talk about a common question: when should you use <strong>Exact Search (ENN)<\/strong> versus <strong>Approximate Search (ANN)<\/strong>?<\/p>\n<p>In small datasets (like the one in the sample, with fewer than 10,000 rows), Exact Search performs just as well as Approximate Search. But as your dataset grows, ANN becomes essential. A good rule of thumb: if you\u2019re working with more than 50,000 vectors <strong>after applying predicates<\/strong>, ANN will likely give you better performance without sacrificing too much accuracy.<\/p>\n<p><strong>SQL Server supports both ENN and ANN<\/strong>. <em>And thanks to its sophisticated query processor, ENN can be heavily optimized when predicates help reduce the number of vectors to scan<\/em>.<\/p>\n<h2>Try It Yourself<\/h2>\n<p>You can explore the public preview of DiskANN and try the full sample here: <a href=\"https:\/\/github.com\/Azure-Samples\/azure-sql-diskann\">Azure SQL DiskANN Sample<\/a><\/p>\n<p>Let me know what you think\u2014and stay tuned for more updates as we continue to evolve SQL Server engine into the most enterprise-ready, developer-friendly, AI-integrated database platform yet.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m happy to announce that SQL Server 2025 CTP 2.1 is now available, and it brings significant improvements to DiskANN support. While DiskANN remains in preview, each release continues to remove limitations and boost performance. In this release, we\u2019ve made a particularly notable leap in vector index creation speed, with more enhancements on the horizon. [&hellip;]<\/p>\n","protected":false},"author":24720,"featured_media":5294,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[601,1,656,672,615],"tags":[676,569,677],"class_list":["post-5292","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-azure-sql","category-fabric-sql-database","category-sql-server-2025","category-vectors","tag-diskann","tag-vector","tag-vector-index"],"acf":[],"blog_post_summary":"<p>I&#8217;m happy to announce that SQL Server 2025 CTP 2.1 is now available, and it brings significant improvements to DiskANN support. While DiskANN remains in preview, each release continues to remove limitations and boost performance. In this release, we\u2019ve made a particularly notable leap in vector index creation speed, with more enhancements on the horizon. [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/posts\/5292","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/users\/24720"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/comments?post=5292"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/posts\/5292\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/media\/5294"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/media?parent=5292"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/categories?post=5292"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/tags?post=5292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}