Posts

Performance tuning

    Some of the key points I learned  Understanding the execution plan: Analyzing the execution plan is crucial to identify potential bottlenecks and inefficiencies in the query. It provides insights into the sequence of operations and helps pinpoint areas for optimization. Examining the execution time of each operator: By evaluating the time taken by individual operators in the execution plan, we can identify the specific steps causing performance degradation and focus our efforts accordingly. Considering the impact of functions:  significance of functions in query performance. Evaluating their execution and considering factors like maxdop (parallelism) can greatly impact overall query speed. Exploring compatibility modes : Being aware of compatibility modes and their associated features, especially advancements like UDF inlining in SQL Server 2019, allows us to leverage the latest capabilities for improved performance. Assessing inlineable sys modul...

Proactive and Reactive Monitoring for SQL Servers: Ensuring Optimal Performance and Issue Resolution

Monitoring SQL servers is crucial for maintaining their performance, availability, and security. By implementing proactive and reactive monitoring measures, you can anticipate and address potential issues before they occur and quickly resolve problems that arise. In this blog post, we will explore the concepts of proactive and reactive monitoring for SQL servers and provide examples of each. Proactive Monitoring Measures: Proactive monitoring involves preventive actions to maintain the health and performance of SQL servers. Let's dive into some examples of proactive measures: Performance Monitoring: Example: Utilize a SQL server monitoring tool like SQL Server Profiler or Performance Monitor to track key performance indicators (KPIs) such as CPU usage, memory utilization, and disk I/O. Set up alerts and thresholds to be notified when predefined limits are exceeded. For instance, if CPU usage consistently exceeds 80%, an alert can be triggered to investigate potential performance bo...

Understanding SQL Server Patching: GDR versus CU

Introduction: Are you curious about the distinctions between GDR and CU when Microsoft releases a KB article with new fixes or security updates? In this article, we'll delve into the details and provide some helpful tips along the way. Setting the Stage : GDR versus CU: Let's begin by understanding Microsoft's explanation: Microsoft defines the General Distribution Release (GDR) and Cumulative Update (CU) designations as two different servicing options for SQL Server baseline releases, which can be either an RTM release or a Service Pack release. Determining the Baseline: To determine your SQL Server's baseline version, you can use various methods. One way is by executing the following T-SQL code: SELECT @@VERSION; Alternatively, you can check the version by examining the sqlserver.exe file in the corresponding \Binn directory of your installation. Another option is using the SERVERPROPERTY() function for more detailed version information, but that is beyond the scope...

SQL Server on Linux

 SQL Server on Linux: What You Need to Know Before Migrating Nowadays, many organizations are considering migrating their SQL Server databases from Windows to Linux. This decision is often motivated by factors such as cost and security, but before jumping into the Linux world, there are some important considerations to keep in mind. In this post, we'll explore what database administrators (DBAs) should know before choosing Linux over Windows for SQL Server deployments. We'll highlight some of the key differences between the two platforms and discuss the impact on SQL Server features and services. Understanding the Basics Before delving into the specifics, it's important to have a basic understanding of the differences between Linux and Windows. While both are operating systems, they have distinct architectures and approaches to managing system resources and services. Windows is a proprietary operating system developed by Microsoft, while Linux is an open-source operating sy...

How are SQL Server licenses sold

  How are SQL Server licenses sold?       SQL Server is a popular database management system that offers a wide range of features and capabilities for organizations of all sizes. However, choosing the right licensing program for your organization can be confusing.   In this post, we'll take a closer look at the various licensing programs available for SQL Server.   Per Core Licensing Per core licensing is a popular licensing model for SQL Server. This model is based on the number of processor cores that are used to run SQL Server. Customers are required to purchase a minimum of four core licenses per processor, and additional core licenses can be purchased in packs of two.   This licensing model is ideal for organizations that need to run SQL Server on a large number of processors. It provides a more predictable licensing cost, as the license fee is based on the number of processor cores, rather than the number of users or device...

Managing Version Store Space in SQL Server

  Managing Version Store Space in SQL Server   Introduction: SQL Server's version store is an important component of its concurrency control mechanism, used to store row versions generated by transactions that use the READ COMMITTED SNAPSHOT or SNAPSHOT isolation levels. However, if the version store runs out of space, it can lead to transaction failures and other issues that can affect the stability and performance of your SQL Server database. In this blog post, we will discuss how to manage version store space in SQL Server and ensure that your database remains stable and performing optimally.   Identifying Version Store Space Issues: The first step in managing version store space is to identify if there are any issues. You can use the sys.dm_tran_version_store_space_usage Dynamic Management View (DMV) to monitor the space usage of the version store and identify if it is running low on space. This DMV returns information about the amount of space reserved an...

Isolation level in SQL SERVER

  Ø   Isolation levels determine how a transaction interacts with other concurrent transactions accessing the same data. Ø   SQL Server has four isolation levels: Read Uncommitted, Read Committed, Repeatable Read, and Serializable. Ø   Each isolation level provides a different balance between data accuracy, consistency, concurrency, and performance. Ø   It's important to choose the right isolation level for your transactions based on your specific requirements and potential concurrency issues. Ø   You should carefully consider the trade-offs between data accuracy, consistency, concurrency, and performance when choosing an isolation level. Ø   SQL Server allows you to change the isolation level at any time during a transaction using the SET TRANSACTION ISOLATION LEVEL statement. Isolation Level Description Example Read Uncommitted Allows transactions to read data that has been modified by other...