Posts by Dimitri Furman
Author: Dimitri Furman
Storage performance best practices and considerations for Azure SQL DB Managed Instance (General Purpose)
Feed: SQL Server Customer Advisory Team. Author: Dimitri Furman. Reviewed by: Kun Cheng, Borko Novakovic, Jovan Popovic, Denzil Ribeiro, Rajesh Setlem, Arvind Shyamsundar, Branislav Uzelac In this article, we describe database storage architecture on Azure SQL Database Managed Instance (MI), for General Purpose (GP) instances specifically. We also provide a set of best practices to help optimize storage performance. At the time of this writing (July 2018), Managed Instance, both General Purpose and Business Critical, is in public preview. Some aspects of MI storage architecture will likely change as MI progresses from the current preview to general availability and beyond ... Read More
CPU and Memory Allocation on Azure SQL Database Managed Instance

Feed: SQL Server Customer Advisory Team. Author: Dimitri Furman. Reviewed By: Ajay Kalhan, Borko Novakovic, Drazen Sumic, Branislav Uzelac In the current Azure SQL Database Managed Instance (MI) preview, when customers create a new instance, they can allocate a certain number of CPU vCores and a certain amount of disk storage space for the instance. However, there is no explicit configuration option for the amount of memory allocated to the instance, because on MI, memory allocation is proportional to the number of vCores used. How can a customer determine the actual amount of memory their MI instance can use, in ... Read More
Azure SQL DB Managed Instance – sp_readmierrorlog
Feed: SQL Server Customer Advisory Team. Author: Dimitri Furman. Reviewed by: Kun Cheng, Borko Novakovic, Arvind Shyamsundar, Mike Weiner Azure SQL Database Managed Instance is a new offering that provides an instance-based SQL PaaS service in Azure. If you are not yet familiar with this new Azure SQL Database capability, you can start with the What is Managed Instance documentation topic. Since early private preview of Managed Instance (MI), SQLCAT has been working with early adopter customers to help them evaluate MI as a new platform for their applications, gather their feedback, and improve the offering for everyone. Azure SQL ... Read More
SQL Server VLDB in Azure: DBA Tasks Made Simple
Feed: SQL Server Customer Advisory Team. Author: Dimitri Furman. Reviewed by: Rajesh Setlem, Mike Weiner, Xiaochen Wu With thanks to Joey D’Antoni (blog) for asking a great question that prompted this article. As any experienced DBA knows, supporting a very large database (VLDB) tends to be exponentially more complex than supporting smaller databases. The definition of VLDB has been shifting in recent years, but most DBAs would agree that complexities become significant starting with database size in the 3-5 TB range. A few obvious examples of tasks that are more challenging with a VLDB are backup/restore, consistency checking, HA/DR, partitioning, ... Read More
Top Questions from New Users of Azure SQL Database

Feed: SQL Server Customer Advisory Team. Author: Dimitri Furman. Reviewed by: Kun Cheng, John Hoang, Denzil Ribeiro, Rajesh Setlem Over the years, we have been engaged with many customers who were either already using, or were in the process of adopting Azure SQL Database. Most of those engagements involved deep technical work in the areas of performance, resiliency, connectivity, and general database architecture. During these engagements, and in our interactions with the wider database community, a set of common questions about Azure SQL Database kept coming up. This blog attempts to answer these questions, while also providing additional background and ... Read More
Instant Log Initialization for SQL Server in Azure

Feed: SQL Server Customer Advisory Team. Author: Dimitri Furman. 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 the newly allocated file space, which is a time-consuming size-of-data operation. With IFI enabled, space is allocated to the file, but zeroes are not written. SQL Server documentation provides details on how this feature works, and ... Read More
SQLCAT at SQLBits 2017
Feed: SQL Server Customer Advisory Team. Author: Dimitri Furman. The widely popular SQLBits conference will take place April 5-8 2017 in Telford, UK. Several SQLCAT team members will be presenting a number of breakout sessions. Our topics this year are SQL Server on Linux and Azure SQL Database. SQLCAT sessions are unique. We bring in real customer stories, and present their deployments, architectures, challenges, and lessons learned. This year, we will have four sessions at SQLBits: Azure SQL Database best practices in resiliency design, Friday April 7, 11:00. HADR for SQL Server on Linux, Friday April 7, 15:30. Migrating from ... Read More
Migration from SQL Server to Azure SQL Database Using Transactional Replication
Feed: SQL Server Customer Advisory Team. Author: Dimitri Furman. Written by: Josh Gnanayutham, Program Manager, SQL Engineering Introduction As users are increasingly moving their data to the Azure cloud, migration from SQL Server to Azure SQL Database is a common task. There are many migration methods and they each have their pros and cons. This blog post will explore how to migrate your database using Transaction Replication. It will also cover the limitations. As a prerequisite to this article, we recommend looking at the Azure SQL Database documentation on migration, which summarizes the different options you have. This will help ... Read More
How to Check Database Availability from the Application Tier
Feed: SQL Server Customer Advisory Team. Author: Dimitri Furman. Reviewed by: Mike Weiner, Murshed Zaman A fundamental part of ensuring application resiliency to failures is being able to tell if the application database(s) are available at any given point in time. Synthetic monitoring is the method often used to implement an overall application health check, which includes a database availability check. A synthetic application transaction, if implemented properly, will test the functionality, availability, and performance of all components of the application stack. The topic of this post, however, is relatively narrow: we are focused on checking database availability specifically, leaving ... Read More
Oops Recovery with Temporal Tables
Feed: SQL Server Customer Advisory Team. Author: Dimitri Furman. Reviewed by: Kun Cheng, John Hoang, Sanjay Mishra, Borko Novakovic, Denzil Ribeiro, Murshed Zaman Have you ever got that sinking feeling after hitting the Execute button in SSMS, thinking “I should not have done that”? DML statements with missing WHERE clause, DROP statements accidentally targeting slightly mistyped (but existing) tables or databases, RESTORE statements overwriting databases with new data that haven’t been backed up, are all examples of actions prompting an “Oops…” (or worse) shortly thereafter. “Oops recovery” is the term that became popular to describe the process of fixing the ... Read More
Recent Comments