Forrards Blog

130 cents total
Data corruption in SQL Server 2012 and 2014 when rebuilding indexes online

When I hear the discussion about causes of data corruption in SQL Server, I always mention bugs in the operating system and the software itself. Fortunately, the last mentioned reason is an extremely rare case, but people are bound to make mistakes and SQL Server is also developed by humans. One such case occurred recently.

Forrads
March 30, 2023
Monitoring of free space in database files

Monitoring of the size of database files is one of the important DBA tasks and this process should be automated. This article will show you how you can achieve this. Why is it important? Most likely you keep an eye of the size of the database and its files to make sure they don`t exceed the size of the hard drive. But do you track the amount of free space inside the databases files? For example you may have a 100GB database with one data file which is 95Gb and log file of 5Gb. But how much space is free in the file itself? Out of those 95Gb it may be that only 5Gb are filled with the data or may be already 94Gb are used. In the last case your database file may grow soon. To be able to predict such situation and prepare to it in advance let`s setup monitoring.

Forrards
March 30, 2023
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Subscribe to our blog

                             

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Buffer Pool Extension in SQL Server 2014 part 4: benchmark testing for update operations

One of my previous articles was devoted to carrying out a range of tests to compare speed of data read operations using BPE. But in real life we need not only read but also update data, that’s why I decided to check whether BPE has influence on performing update operations. Before running new tests we should take into account several crucial features. First of all insert, update and delete operations are logged, which means transaction log will be under load and a lot will depend on the disk subsystem. That’s why I made a pair of test measurements and then put the transaction log on a SSD to minimize its impact on the update operations. Another moment is that before data update SQL Server reads the page from Buffer Pool, then makes changes and marks the page as "dirty». Later the page is written to the disk through performing Checkpoint or Lazy Writer processes, and the first of mentioned processes may also affect the test results indirectly, so I turn it off. Thirdly, I write a query to change the data so that new data will be of the same size as the old data, which allows to prevent pages split. Fourth, Buffer Pool Extension can store only "clean" pages, consequently, update operations will "wash out" the data from it. But I will provide more details on this situation later and now let’s have a look at the configuration of the test bench.

Forrards
March 18, 2023
Migration of a large enterprise from SQL Server 2000 to 2014. Real life case.

This is a first article in a series of articles about real life database and IT infrastructure migration project which has been executed for a large US company which services are heavily dependent on fast and reliable database infrastructure. In this article we`ll give a brief description of the project, goals and actions taken. In further articles we`ll get deeper into details of each step of migration.

Forrards
March 18, 2023

Let's discuss your project or resource request

                       

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.