Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Applies to:
SQL Server 2025 (17.x) Preview
SQL Server 2025 (17.x) Preview builds on previous releases to grow SQL Server as a platform that gives you choices of development languages, data types, on-premises or cloud environments, and operating systems.
This article summarizes the new features and enhancements for SQL Server 2025 (17.x) Preview.
Get SQL Server 2025 (17.x) Preview
Get SQL Server 2025 Preview. Build number: 17.0.700.9.
For more information and known issues, see SQL Server 2025 Preview release notes.
For the best experience with SQL Server 2025 (17.x) Preview, use the latest tools.
Feature highlights
The following sections identify features that are improved or introduced in SQL Server 2025 (17.x) Preview.
- AI
- Fabric
- Developer
- Analytics
- Availability
- Security
- Database engine
- Query Store and intelligent query processing
- Language
- Tools
AI
New feature or update | Details |
---|---|
Copilot in SQL Server Management Studio | Ask questions. Get answers from your data. |
Vector data type | Store vector data optimized for operations such as similarity search and machine learning applications. Vectors are stored in an optimized binary format but are exposed as JSON arrays for convenience. Each element of the vector is stored as a single-precision (4-byte) floating-point value. |
Vector functions | New scalar functions perform operations on vectors in binary format, allowing applications to store and manipulate vectors in the SQL Database Engine. |
Vector index | Create and manage approximate vector index to quickly and efficiently find similar vectors to a given reference vector. |
Manage external AI models | Manage external AI model objects for embedding tasks (creating vector arrays) accessing REST AI inference endpoints. |
Fabric
New feature or update | Details |
---|---|
Mirroring in Fabric | Continuously replicate data to Microsoft Fabric from SQL Server 2025 on-premises, as well as SQL Server 2025 on VMs. Microsoft Fabric already includes mirroring from a variety of sources, including Azure SQL Database and Azure SQL Managed Instance. For more information on SQL Server 2025 database mirroring to Fabric, see Mirrored SQL Server databases in Microsoft Fabric. |
Developer
New feature or update | Details |
---|---|
Change event streaming | Capture and publish incremental DML changes of data (such as updates, inserts, and deletes) in near real-time. Change event streaming sends details of data changes such as the schema, previous values, and new values to Azure Event Hubs in a simple CloudEvent, serialized as either native JSON or Avro Binary. |
Optimized sp_executesql | Effectively reduce the impact of compilation storms. A compilation storms refers to a situation where a large number of queries are being compiled simultaneously, leading to performance issues and resource contention. Enable this feature to allow invocations of sp_executesql to behave like objects such as stored procedures and triggers from a compilation perspective.Allowing batches which use sp_executesql to serialize the compilation process reduces the impact of compilation storms. |
Fuzzy string match | Check if two strings are similar, and calculate the difference between two strings. |
Regular expressions (regex) in SQL Server | Define a search pattern for text with a sequence of characters. Query SQL Server with regex to find, replace, or validate text data. |
Regular expressions functions | Match complex patterns and manipulate data in SQL Server with regular expressions. |
External REST endpoint invocation | Call REST/GraphQL endpoints from other Azure services from the SQL Database. With a quick call to the system stored procedure sp_invoke_external_rest_endpoint, you can: - Have data processed via an Azure Function - Update a Power BI dashboard - Call a local, in-house enterprise REST endpoint - Talk to Azure OpenAI Services |
JSON data in SQL Server | Use SQL Server built-in functions and operators to: - Parse JSON text and read or modify values. - Transform arrays of JSON objects into table format. - Run any Transact-SQL query on the converted JSON objects. - Format the results of Transact-SQL queries in JSON format. - Review examples at: JSON data type: Store JSON in a native binary format. |
Batch mode optimizations for built-in functions | Performance improvements for the following built-in functions: - Mathematical functions - DATETRUNC |
New Chinese collations | Version 160 to support GB18030-2022 standard. |
New developer editions
The following free editions are designed to provide all the features of their corresponding paid editions. They can be used to develop SQL Server applications without requiring a paid license.
For features by edition, review Editions and supported features of SQL Server 2025 Preview.
The editions and supported features for SQL Server 2025 (17.x) Preview are subject to change until the product is generally available.
Standard Developer edition
SQL Server 2025 Standard Developer edition is a free edition licensed for development. It includes all features of SQL Server Standard edition.
- Develop new applications for Standard edition.
- Set up a staging environment to certify the upgrade of an existing application from the Standard edition to SQL Server 2025 Standard edition before deploying it in production.
Enterprise Developer edition
SQL Server 2025 Enterprise Developer edition includes SQL Server Enterprise edition features.
- Develop new applications for Enterprise edition.
Functionally equivalent to Developer edition in previous versions.
Analytics
New feature or update | Details |
---|---|
Connect to ODBC data sources with PolyBase on SQL Server on Linux | Supports ODBC data sources for SQL Server on Linux. |
Native support for specific source types | PolyBase services no longer required for parquet, Delta, or CSV. |
Availability
New feature or update | Details |
---|---|
Fast failover for persistent AG health issues | Set the RestartThreshold for an Always On availability group to 0, which tells the WSFC to fail over the availability group resource immediately when a persistent health issue is detected. |
Availability group asynchronous page request dispatching improvement | Enable this feature to perform asynchronous page requests and in batches during failover recovery. |
Improved health check timeout diagnostics | Improves synchronization performance by reducing network saturation when the global primary and forwarder replicas are in asynchronous commit mode. This change is enabled by default and doesn't require any configuration. |
Control communication flow with sp_configure for availability groups | A new sp_configure option lets the primary replica determine if the secondary replica falls behind. With the new configuration option, you can optimize communication between HADR endpoints. |
Allow database to switch to resolving state | After a failure to read the persisted configuration data due to network service interruption. |
REMOVE listener IP address | New parameter in the ALTER AVAILABILITY GROUP Transact-SQL command lets you remove an IP address from a listener without deleting the listener. |
Set NONE for read-only or read-write routing | When configure READ_WRITE_ROUTING_URL and READ_ONLY_ROUTING_URL , you can set to NONE to revert specified routing by using the ALTER AVAILABILITY GROUP Transact-SQL command to automatically route traffic back to the primary replica. |
Configure AG group commit wait in milliseconds | Set availability group commit time in milliseconds for an availability group replica so that transactions are sent to the secondary replica faster. |
Distributed AG support for a contained AG | Configure a distributed availability group between two contained availability groups. |
Distributed AG synchronization improvements | Improves synchronization performance by reducing network saturation when the global primary and forwarder replicas are in asynchronous commit mode. |
Backups on secondary replicas | In addition to copy-only backups, you can now also perform full and differential backups on any secondary replica. |
Security
New feature or update | Details |
---|---|
Security cache improvements | Invalidates caches for only a specific login. When security cache entries are invalidated, only those entries belonging to the affected login are affected. This improvement minimizes the impact of non-cache permissions validation for unaffected login users. |
OAEP padding mode support for RSA encryption | Support for certificates and asymmetric keys, adding security layers to encryption and decryption processes. |
PBKDF for password hashes on by default | Uses PBKDF2 for password hashes by default, enhancing password security and helping customers comply with NIST SP 800-63b. |
Managed identity with Microsoft Entra authentication | Can use the Arc-enabled server managed identity in outbound connections to communicate with Azure resources, and inbound connections for external users to connect to SQL Server. Requires SQL Server enabled by Azure Arc. |
Back up to/restore from URL with managed identity | Back up to, or restore from, URL with a managed identity. Requires SQL Server enabled by Azure Arc. |
Managed Identity support for Extensible Key Management with Azure Key Vault | Supported for EKM with AKV and Managed Hardware Security Modules (HSM). Requires SQL Server enabled by Azure Arc. |
Create Microsoft Entra logins and users with nonunique display names | Support for the T-SQL syntax WITH OBJECT_ID when using the CREATE LOGIN or CREATE USER statement. |
Support custom password policy on Linux | Enforce a custom password policy for SQL authentication logins on SQL Server on Linux. |
TDS 8.0 support | TDS 8.0 support added for the sqlcmd utility, and bcp utility. |
Database Engine
New feature or update | Details |
---|---|
Optimized locking | Reduces blocking and lock memory consumption, and avoids lock escalation. |
Tempdb space resource governance | Improves reliability and avoids outages by preventing runaway workloads from consuming a large amount of space in tempdb . |
Accelerated database recovery in tempdb | Provides the benefits of accelerated database recovery for transactions in the tempdb database, such as transactions that use temporary tables. |
Persisted statistics for readable secondaries | Creates persisted statistics on readable secondaries so that workloads that run against secondary replicas are optimized. |
Change tracking improvements | Adaptive shallow cleanup improves change tracking auto cleanup performance. |
Columnstore improvements | Multiple improvements in columnstore indexes: - Ordered nonclustered columnstore indexes - Online index build and improved sort quality for ordered columnstore indexes - Improved shrink operations when clustered columnstore indexes are present |
Memory-optimized container and filegroup removal | Supports removal of memory-optimized containers and filegroups when all In-Memory OLTP objects are deleted. |
tmpfs support for tempdb on Linux | Enable and run tempdb on tmpfs for SQL Server on Linux. |
ZSTD Backup compression algorithm | SQL Server 2025 (17.x) Preview adds a faster and more effective backup compression algorithm - ZSTD. |
Query Store and intelligent query processing
The intelligent query processing (IQP) feature family includes features that improve the performance of existing workloads with minimal implementation effort.
New feature or update | Details |
---|---|
Cardinality estimation feedback for expressions | Learns from previous executions of expressions across queries in order to find appropriate CE model choices and apply what has been learned to future executions of those expressions. |
Optional parameter plan optimization (OPPO) | Leverages the adaptive plan optimization (Multiplan) infrastructure that was introduced with the Parameter Sensitive Plan Optimization (PSPO) improvement, which generates multiple plans from a single statement. This allows the feature to make different assumptions depending on the parameter values used in the query. |
Degree of parallelism (DOP) feedback | Now on by default. |
Optimized Halloween protection | Reduces tempdb space consumption and improves query performance by redesigning the way the database engine solves the Halloween problem. |
Query Store for readable secondaries | Now on by default. |
ABORT_QUERY_EXECUTION query hint | Blocks future execution of known problematic queries, for example nonessential queries affecting application workloads. |
Language
New feature or update | Details |
---|---|
Artificial intelligence | |
VECTOR_DISTANCE | Calculates the distance between two vectors using a specified distance metric. |
VECTOR_NORM | Returns the norm of the vector (which is a measure of its length or magnitude). |
VECTOR_NORMALIZE | Returns a normalized vector. |
VECTORPROPERTY | Returns specific properties of a given vector. |
CREATE EXTERNAL MODEL | Creates an external model object that contains the ___location, authentication method, and purpose of an AI model inference endpoint. |
ALTER EXTERNAL MODEL | Alters an external model object. |
DROP EXTERNAL MODEL | Drops an external model object. |
AI_GENERATE_CHUNKS | Creates chunks, or fragments of text based on a type, size, and source expression. |
AI_GENERATE_EMBEDDINGS | Creates embeddings (vector arrays) using a precreated AI model definition stored in the database. |
Regular expressions | |
REGEXP_LIKE | Indicates if the regular expression pattern matches in a string. |
REGEXP_REPLACE | Returns a modified source string replaced by a replacement string, where the occurrence of the regular expression pattern found. If no matches are found, the function returns the original string. |
REGEXP_SUBSTR | Returns one occurrence of a substring of a string that matches the regular expression pattern. If no match is found, it returns NULL . |
REGEXP_INSTR | Returns the starting or ending position of the matched substring, depending on the value of the return_option argument. |
REGEXP_COUNT | Counts the number of times that a regular expression pattern is matched in a string. |
REGEXP_MATCHES | Returns tabular results captured substrings resulting from matching a regular expression pattern to a string. If no match is found, the function returns no row. |
REGEXP_SPLIT_TO_TABLE | Returns strings split, delimited by the regex pattern. If there's no match to the pattern, the function returns the whole string expression. |
JSON | |
JSON_OBJECTAGG | Construct a JSON object from an aggregation. |
JSON_ARRAYAGG | Construct a JSON array from an aggregation. |
Other additions and improvements | |
SUBSTRING | length is now optional, defaults to expression length. This change aligns the function with ANSI standard. |
DATEADD | number supports bigint type. |
UNISTR | Specify Unicode encoding values. Returns Unicode characters. |
PRODUCT | The PRODUCT() aggregate function calculates the product of a set of values. |
CURRENT_DATE | Returns the current database system date as a date value. |
EDIT_DISTANCE | Calculates the number of insertions, deletions, substitutions, and transpositions needed to transform one string to another. |
EDIT_DISTANCE_SIMILARITY | Calculates a similarity value ranging from 0 (indicating no match) to 100 (indicating full match). |
JARO_WINKLER_DISTANCE | Calculates the edit distance between two strings giving preference to strings that match from the beginning for a set prefix length. |
JARO_WINKLER_SIMILARITY | Calculates a similarity value ranging from 0 (indicating no match) to 1 (indicating full match). |
- BASE64_ENCODE - BASE64_DECODE |
Convert binary data into a text format that's safe for transmission across various systems. It can be used in diverse ways as it ensures that your binary data, such as images or files, remains intact during transfer, even when passing through text-only systems. |
|| (String concatenation) | Concatenate expressions with expression || expression . |
Tools
New feature or update | Details |
---|---|
bcp utility | Authentication enhancements |
sqlcmd utility | Authentication enhancements |
Additional information
This section provides additional information for the features highlighted previously.
SQL Server Analysis Services
Installing SQL Server Analysis Services in CTP 2.0 to run using a local account can fail. Use a ___domain account for testing Analysis Services in CTP 2.0 instead.
The error you see in the Windows Event Viewer is:
Server Gen2 cryptokey is not present, but server assembly object System is set to use server gen2 cryptokey. Terminating server.
For specific updates, see What's new in SQL Server Analysis Services.
SQL Server Reporting Services
For specific updates, see What's new in SQL Server Reporting Services (SSRS).
SQL Server Integration Services
For changes related to SQL Server Integration Services, see What's New in SQL Server 2025 Integration Services Preview.
Discontinued services
Data Quality Services (DQS) is discontinued in this version of SQL Server. We continue to support DQS in SQL Server 2022 (16.x) and earlier versions.
Master Data Services (MDS) is discontinued in this version of SQL Server. We continue to support MDS in SQL Server 2022 (16.x) and earlier versions.
Synapse Link is discontinued in this version of SQL Server. Use Mirroring in Fabric instead. For more information, see Mirroring in Fabric – What's new.
Other services
None at this time.
Related content
- SqlServer PowerShell module
- SQL Server PowerShell
- SQL Server Workshops
- SQL Server 2025 Preview release notes
Get help
- Ideas for SQL: Have suggestions for improving SQL Server?
- Microsoft Q & A (SQL Server)
- DBA Stack Exchange (tag sql-server): Ask SQL Server questions
- Stack Overflow (tag sql-server): Answers to SQL development questions
- Microsoft SQL Server License Terms and Information
- Support options for business users
- Additional SQL Server help and feedback
Contribute to SQL documentation
Did you know that you can edit SQL content yourself? If you do so, not only do you help improve our documentation, but you also get credited as a contributor to the page.
For more information, see Edit Microsoft Learn documentation.