How to safeguard SQL Server on Linux from OOM-Killer

On a Windows based server, when all the available memory including the page file is consumed, the server’s performance becomes sluggish and out of memory errors are logged to the event logs. On Linux systems, the behavior is slightly different. When the server is running low on memory, the Linux kernel will choose a process…


New season, New software, New servicing model

Greetings. It feels like a lot of change is in the air! Last Friday marked the Autumnal equinox. Depending upon which hemisphere you live in, the changes you might see with the new season might differ. People living in northern hemisphere welcome Fall season while folks in southern hemisphere welcome Spring.   If you are…

0

SQL Nexus 6.0 is released to github

With codeplex shutting down, we have moved SQL Nexus to github with a new release (6.0).   Now both Pssdiag/SQLDiag manager and SQL Nexus are on github. Where to get it As you navigate to SQL Nexus, you can download code and released binary files. If you choose to download binary files, you can go to…

1

SQL Server : large RAM and DB Checkpointing

SQL Server : large RAM and DB Checkpointing   Hi everyone, This post’s purpose is to establish a summary of the specific behaviors with relation to DB Checkpoint that may happen within SQL Server when running with a large quantity of allocated memory and when applicable, how to best address them. SQL Server 2016 improves…


You may see “out of user memory quota” message in errorlog when you use In-Memory OLTP feature

Recently we got an inquiry from a customer who received the following message in errorlog and wanted to know why. [INFO] HkDatabaseTryAcquireUserMemory(): Database ID: [7]. Out of user memory quota: requested = 131200; available = 74641; quota = 34359738368; operation = 1. This is my first time to see this error.  As usual, I relied…

2

Unable to issue alter table for a memory optimized tables

Recently I assisted on a customer issue where customer wasn’t able to alter a memory optimized table with the following error Msg 41317, Level 16, State 3, Procedure ddl, Line 4 [Batch Start Line 35]A user transaction that accesses memory optimized tables or natively compiled modules cannot access more than one user database or databases…

0

Memory optimized table variable and cardinality estimate

  In a previous blog, I talked about memory optimized table consumes memory until end of the batch.   In this blog, I want to make you aware of cardinality estimate of memory optimized table as we have had customers who called in for clarifications.  By default memory optimized table variable behaves the same way as…

2

Unable to restore a backup – Msg 3241

I worked on an interesting issue today where a user couldn’t restore a backup.   Here is what this customer did: backed up a database from an on-premises server (2008 R2) copied the file to an Azure VM tried to restore the backup on the Azure VM (2008 R2 with exact same build#) But he got…

3

Why am I getting so many checkpoint files when I have In-Memory OLTP enabled?

Recently, I looked an In-Memory OLTP issue with Principal Software Engineer Bob Dorr who is still my office neighbor.  After restoring a database that had just one memory optimized table, we dropped the table. Even without any memory optimized tables,number of checkpoint files keep going up every time we issue a checkpoint.  For a while,…

3

A few new things in XML plan to help you troubleshoot query performance

  In this blog Added per-operator level performance stats for Query Processing, Senior PM in QP talks about extending operator level performance stats.  They include stats related to reads, CPU and elapse time.  These are very helpful to track down query performance issues.  We worked on recent case where we put ActualElapsedms in a good…

0