Announcing general availability of Native Scoring using PREDICT function in Azure SQL Database

Today we are announcing the general availability of the native PREDICT Transact-SQL function in Azure SQL Database. The PREDICT function allows you to perform scoring in real-time using certain RevoScaleR or revoscalepy models in a SQL query without invoking the R or Python runtime. The PREDICT function support was added in SQL Server 2017. It is… Read more

Announcing preview of Machine Learning Services with R support in Azure SQL Database

Today we are announcing the preview of Machine Learning Services with R support in Azure SQL Database! You can evaluate this preview functionality in any server/database created in the West Central US Region. Azure SQL Databases is the first DBaaS to offer in-database machine learning. In-database Machine Learning support was added in SQL Server 2016… Read more

Default compatibility level 140 for Azure SQL databases

As of this writing, the default compatibility level for new databases created in Azure SQL Database is 130. Very soon, we’ll be changing the Azure SQL Database default compatibility level for newly created databases to 140. The alignment of SQL versions to default compatibility levels are as follows: 100: in SQL Server 2008 and Azure… Read more

Demo: Identify and fix plan change regression in SQL Server 2017 RC1

Plan change regression happens when SQL Database changes a plan for some T-SQL query, and the new plan has the worse performance than the previous one. SQL Server 2017 has Automatic Tuning feature that enables you to easily find plan change regressions and fix them. In this post you will see the demo script that you… Read more

Monitoring automatic tuning actions using XEvents

SQL Server 2017 can automatically tune your queries by identifying and fixing SQL plan change regressions. SQL Server tracks last known good plans for each query, and if the plan for the query changes, last know good plan will be used if performance of the new plan is worse than the performance of the last… Read more

Public Preview of Compatibility Level 140 for Azure SQL Database

Today we are announcing the official public preview of compatibility level 140 in Azure SQL Database. Compatibility level 140 enables the following query optimizer changes: A trivial plan referencing Columnstore indexes will be discarded in favor of a plan that is eligible for batch mode execution. The sp_execute_external_script UDX operator is eligible for batch mode… Read more

“What are you waiting for?” – Introducing wait stats support in Query Store

Troubleshooting waits previously. Nobody likes to wait. SQL database is multithreaded system that can handle thousands of queries executed simultaneously. Since queries that are executed in parallel compete for the same resources (tables, memory, etc) they might need to wait for the resources to be available to proceed with execution. These cumulative waits can be… Read more

Azure SQL databases in logical servers, elastic pools, and managed instances

Azure SQL Database is a Database as a Platform service designed for applications that will use database as self-contained service. Databases can be grouped together to simplify management options or share the resources. There are different options that can be used to bound databases in the groups, which will be explained in this post…. Read more

What is plan regression in SQL Server?

Plan regression happens when SQL Server starts using the sub-optimal SQL plan to execute some T-SQL query. Usually you will see that some T-SQL query is executing really fast, but then it gets slower without any obvious reason. In this post you will see how can plan regression happen…. Read more

Use WITH clause in OPENJSON to improve parsing performance

OPENJSON function has a WITH clause where you can specify what fields should be extracted from input JSON. This might improve performance of your queries compared to the case where you use OPENJSON without schema and later extract information from the parsed JSON using JSON_VALUE function…. Read more