Performance implications of using multi-Statement TVFs with optional parameters

Authored by Arvind Shyamsundar (Microsoft) Credits: Prasad Wagle, Srinivasa Babu Valluri, Arun Jayapal, Ranga Bondada, Anand Joseph (members of the Sayint by Zen3 team) Reviewers: Rajesh Setlem, Joe Sack, Dimitri Furman, Denzil Ribeiro (Microsoft) This blog post was inspired our recent work with the Sayint dev team, who are a part of Zen3 Infosolutions. SQLCAT… Read more

Secure your on-premises network outbound connection to Azure SQL Database by locking down target IP addresses

Reviewed by: Dimitri Furman, John Hoang, Mike Weiner, Rajesh Setlem Most people familiar with Azure SQL DB (aka SQL Database) are aware of the firewall setting requirements of SQL DB, which are very important to lock down connections to SQL DB on Azure. Details are documented here. The firewall setting helps restrict inbound connections to… Read more

Unattended install and configuration for SQL Server 2017 on Linux Reviewed by: Dimitri Furman, Murshed Zaman, Steven Schneider

SQL 2017 bits are generally available to customers today. One of the most notable milestones in the 2017 release is SQL Server on Linux. Setup has been relatively simple for SQL Server on Linux, but often there are questions around unattended install. For SQL Server on Linux, there are several capabilities that are useful in… Read more

Enterprise Data Pipelines using Azure PaaS Services – An Introduction

Authors: Rangarajan Srirangam, Mandar Inamdar, John Hoang Reviewers: Murshed Zaman, Sanjay Mishra, Dimitri Furman, Mike Weiner, Kun Cheng Overview You might have worked with enterprise data pipelines using the SQL Server suite of products on-premises, or using virtual machines in the cloud. Now, you can build a similar enterprise data pipeline on Azure, comprised purely… Read more

Instant Log Initialization for SQL Server in Azure

Reviewed by: John Hoang, Denzil Ribeiro, Rajesh Setlem, Mike Weiner Introduction Instant File Initialization (IFI) is a well-known feature of SQL Server, providing significant performance improvement for operations that require an increase in the size of data files, such as database creation, restore, and file growth. Without IFI enabled, zeroes have to be written into… Read more

Common ISV application patterns using Azure SQL Data Warehouse

Author: John Hoang Technical Reviewers: Dimitri Furman, Murshed Zaman, Sanjay Mishra Overview This article is one of the several new blogs from the AzureCAT team discussing common customer implementations and proven architecture patterns using SQL DW. In this blog, I will discuss the patterns use by Independent Software Vendor (ISV) on SQL DW. Although the… Read more

Azure SQL Data Warehouse Workload Patterns and Anti-Patterns

Reviewed by: John Hoang, Dimitri Furman, Mike Weiner, Sanjay Mishra We often get questions from customers related to Azure SQL DW being a good fit for moving a particular database to the cloud. Some of the typical questions are: I have a database on-premises. I would like to move it into the cloud because that… Read more

Collecting performance data with PSSDIAG for SQL Server on Linux

Reviewed by: Suresh Kandoth,Rajesh Setlem, Steven Schneider, Mike Weiner, Dimitri Furman When analyzing SQL Server performance related issues, customers often have their tools of choice, which can be a feature within the product, a third-party performance monitoring tool, or a home-grown tool that assists in monitoring live performance. For live monitoring, in the SQLCAT lab… Read more

How the SQLCAT Customer Lab is Monitoring SQL on Linux

Reviewed By: Denzil Ribeiro, Dimitri Furman, Mike Weiner, Rajesh Setlem, Murshed Zaman Background SQLCAT often works with early adopter customers, bring them into our lab, and run their workloads. With SQL Server now available on Linux, we needed a way to visualize performance and PerfMon, being a Windows only tool, was no longer an option…. Read more

Performance impact of memory grants on data loads into Columnstore tables

Reviewed by: Dimitri Furman, Sanjay Mishra, Mike Weiner, Arvind Shyamsundar, Kun Cheng, Suresh Kandoth, John Hoang Background Some of the best practices when bulk inserting into a clustered Columnstore table are: Specifying a batch size close to 1048576 rows, or at least greater than 102400 rows, so that they land into compressed row groups directly…. Read more