Limited SQL instances but server still struggling
Recently we came across an issue whereby one of our servers was having terrible memory issues (worse than Dory from Finding Nemo). This should be a simple one, limit the SQL instances, we thought!
The setup was a Windows Server 2008 R2 Standard (64-bit) )with 2 SQL instances running, one for each of our main applications. To make things a little more interesting SQL Server 2005 and SQL Server 2008 were in play. This shouldn't be an issue though, limiting the memory is the same process for both versions!
Now at this point we thought we could sit back, throw our feet on the desk and basque in our technical glory at bringing the server to a happy, purring state. This was not to be!
We opened Task Manager and watched our sqlservr.exe (or sqlservr.exe *32) processes decrease in memory usage as we expected. Out of nowhere, another sqlservr.exe process poked it's head out like that one creepy uncle you try to avoid at a family wedding. We only have 2 known SQL instances so where was this 3rd one coming from. Long story short this was the process for the Windows Internal Database.
I ran this query against our IT team:
Sorry, terrible joke!
Give me a shout if you have any queries!
The setup was a Windows Server 2008 R2 Standard (64-bit) )with 2 SQL instances running, one for each of our main applications. To make things a little more interesting SQL Server 2005 and SQL Server 2008 were in play. This shouldn't be an issue though, limiting the memory is the same process for both versions!
Limiting Memory Usage for an SQL Instance
- Open SQL Server Management Studio
- Log into the first instance
- Right-click on the instance name at the top of the Object Explorer and select Properties
- Select the Memory page from the left-hand menu
- Enter the size of memory you want to limit your instance to (in MegaBytes)
- Press OK
Now at this point we thought we could sit back, throw our feet on the desk and basque in our technical glory at bringing the server to a happy, purring state. This was not to be!
We opened Task Manager and watched our sqlservr.exe (or sqlservr.exe *32) processes decrease in memory usage as we expected. Out of nowhere, another sqlservr.exe process poked it's head out like that one creepy uncle you try to avoid at a family wedding. We only have 2 known SQL instances so where was this 3rd one coming from. Long story short this was the process for the Windows Internal Database.
Limiting Memory Usage for Windows Internal DB Instance
To limit the memory usage of this instance you need to go through the following steps:- Open SQL Server Management Studio
- Server type: Database Engine
- Server name: \\.\pipe\mssql$microsoft##ssee\sql\query
- Authentication: Windows Authentication (must be Windows Auth)
- Right-click on the instance name at the top of the Object Explorer and select Properties
- Select the Memory page from the left-hand menu
- Enter the size of memory you want to limit your instance to (in MegaBytes)
- Press OK
What is the Windows Internal Database used for?
The Windows Internal Database is for any of the following:- Active Directory Rights Management Services (AD RMS)
- Windows Server Update Services (WSUS)
- Windows System Resource Manager
I ran this query against our IT team:
Sorry, terrible joke!
Give me a shout if you have any queries!
Comments
Post a Comment