given daisy. For a lazy reader, here is the link to the project that I open sourced :-): https://github.com/robinson/sfvector

AI is bringing a fresh—actually, a very hot—breeze to the IT industry. It has significantly changed the way we work, introducing concepts like vibe coding, RAG (Retrieval-Augmented Generation), fine-tuning, and more. I am a software developer who started in the era of desktop applications, grew up with web development, and matured alongside microservices and microfrontends.

For years, we believed that deep knowledge of OOP and design patterns was a status held only by “gurus” with decades of practice. Suddenly, overnight, AI code agents can perform those same tasks—sometimes even better than we can. To avoid falling behind, I’ve been teaching myself AI (AI for Dummies style!) and tinkering with new tools.

While “learning by doing” with RAG, I realized that RAG almost always requires a vector database. Early last year, while working with Pinecone (a vector database as a service), I had an idea: why not fill the missing piece in the Microsoft stack? Specifically, I wanted to turn SQL Server 2019 into a vector database.

At that time, even the latest version (SQL Server 2022) lacked native vector support. That’s why I developed sfvector. By the end of 2025, Microsoft released SQL Server 2025 with native vector features, but I believe sfvector still offers a great alternative for the community—especially for those who want to leverage the full power of FAISS inside SQL Server.

sfvector stands for SQL Server, FAISS, and Vector. Inspired by pgvector, it simple converts a non-vector database like SQL Server into one. I wanted to keep the syntax familiar and simple, similar to: CREATE TABLE items (id bigserial PRIMARY KEY, embedding vector(3));

To bring this to life, I utilized two key components:

SQL Server CLR (Common Language Runtime): To run managed code within the database.

FAISS: The powerful C++ library from Meta (Facebook) Research designed for efficient similarity searches.

My strategy was to create a C# CLR layer for SQL Server integration, which interacts with a native C++ library wrapping FAISS via P/Invoke.

With the help of GitHub Copilot, I implemented the project in stages. In early 2025, Copilot didn’t have the full “code agent” capabilities it has today, so it took some manual effort—though it has become much easier since then!

I have performed benchmarking and compared the performance against pgvector and the new SQL Server 2025 features. The results are quite impressive, especially when utilizing specific FAISS indexing features.

I am now releasing sfvector to the community. It is open source and ready for you to use. Feel free to fork the repo, use it in your projects, or contribute to making it even better! https://github.com/robinson/sfvector

— 03.02.2026 —

given daisy