Infrastructure at your Service

Tag

SQL Server Archives - Blog dbi services

Stéphane Haby

How to find the TLS used for the SQL Server connection

By | Database Administration & Monitoring, Database management, Security, SQL Server | No Comments

For a customer, I do some research to find which TLS is used on the SQL Server environment. The only way is to create an Extended Event. A big limitation is that the event used is only available on SQL Server 2016 and +. Before use the Built-In Diagnostics (BID) traces. After I implanted the first TLS Monitoring on  a SQL Server 2016 with the query: CREATE EVENT SESSION [TLS_monitoring] ON SERVER              ADD EVENT…

Read More
Stéphane Haby

How to view and change SQL Server Agent properties with T-SQL queries

By | Database Administration & Monitoring, Database management | No Comments

Few days ago, after a reboot, we had this warning on the Agent Error Logs on many servers: Warning [396] An idle CPU condition has not been defined – OnIdle job schedules will have no effect “The CPU idle definition influences how Microsoft SQL Server Agent responds to events. For example, suppose that you define the CPU idle condition as when the average CPU usage falls below 10 percent and remains at this level for…

Read More
Marc Wagner

Nutanix Era with oracle databases : Part 1 – Introduction

By | Oracle | No Comments

I’m currently setting up a lab for Nutanix Era in order to be able to provide some presentation on this subject and see how Nutanix Era interacts with Oracle databases. I therefore thought it would be certainly helpful and a good opportunity to share the feedback I’m getting from this experience. The lab has been built using Nutanix Cluster free trial integrated with our AWS Cloud account. This fist blog intends to provide only a…

Read More
Stéphane Haby

SQL Server: Using Client Statistics to validate a query regression after a change in the database compatibility level

By | Database Administration & Monitoring, Database management, Development & Performance | No Comments

Few days ago, I have very poor performance on a database that I migrate from SQL 2012 to SQL 2019. The developer Team asks me to upgrade the number of CPU and the Memory to have better performance. First, I ask the Team to give me some queries sample to test the performance between the old environment in SQL server 2012 and the new one in SQL server 2019. To do the test, I use…

Read More
Stéphane Savorgnano

Automate restore from Rubrik with PowerShell (part 2)

By | Database Administration & Monitoring, Database management, SQL Server | No Comments

As promised during my last Rubrik blog post I’m writing a second one to explain how to: log your different steps in a file add an integrity check after the restore and also improve my first scripting I will start by the end and improve my first scripts by creating functions for each step of the process. With Rubrik you can have multiple appliances (servers), it means that each server/instance of you SQL Server environment…

Read More
Steven Naudet

SQL Server: table variables performance limitations

By | Database Administration & Monitoring, SQL Server | No Comments

Doing some performance troubleshooting for one of my customers I identified some issues with very large table variables inside Stored procedures. Table variables limitations are not well understood by developers although they are now well documented. Table variable rows estimation Let’s have a look at an example with my customer context which is SQL Server 2016, so compatibility level 130 at the database level. You can reproduce this demo with the Wide World Importers database….

Read More
Stéphane Haby

SQL Server 2019: What’s new on database scoped configuration options?

By | Database management, SQL Server, Technology Survey | No Comments

SQL Server 2019 added three new options in sp_configure and sys.configurations. First, how can we find the difference between these SQL Server Versions. This simple query will give us the number of options and the SQL Server Version: select count(*) as number_of_configurations, @@version FROM sys.database_scoped_configurations In SQL server 2016, we have 4 parameters for the database configuration: In SQL server 2017, we have 5 parameters for the database configuration: In SQL server 2019, we have…

Read More
Steven Naudet

SQL Server: Fixing another huge MSDB database – 80GB+

By | Database Administration & Monitoring, SQL Server | No Comments

I have blogged several times about unusually large MSDB databases like here. Most of the time the problem comes from the backup history which is never purged. This time it’s different. Try to guess, if not the backup history, what can cause MSDB to increase abnormally in size? Let’s start by looking at the total size of the database: It’s huge. The database size is almost 90GB. The 10% configuration on data files causes large…

Read More
Stéphane Haby

SQL Server 2019: What’s new in sp_configure and sys.configurations options?

By | Database Administration & Monitoring, Database management, SQL Server, Technology Survey | No Comments

SQL Server 2019 added new options in sp_configure and sys.configurations. First, how can we find the difference between these SQL Server Versions. This simple query will give us the number of options and the SQL Server Version: select count(*),@@version FROM sys.configurations In SQL server 2016, we have 74 parameters for the instance configuration: In SQL server 2017, we have 77 parameters for the instance configuration: In SQL server 2019, we have 84 parameters for the…

Read More
Stéphane Haby

SQL Server SCOM Alert Analysis: The Average Wait Time of SQL instance “xxx” on computer “xxx” is too high

By | Database Administration & Monitoring, Database management, Development & Performance, SQL Server | No Comments

I have an interested alert on SCOM for SQL Server by a customer two weeks ago. In the SCOM interface, the warning on the server is MSSQL2016: The Average Wait Time of SQL instance “xxx” on computer “xxx” is too high. After right-click on the properties, go to the tab Alert Context. On this part, you can see that the Object Name is MSSQL$xxx:Locks. My first step is to go in the Reports>Standard Reports> Performance…

Read More