One of my clients contacted me in a situation where their business was down! Their production SQL Server instance used by their Human Resource team was unable to start in a clustered environment. In this blog, we would learn about how to fix the error: 17300 – The error is printed in terse mode because there was an error during formatting received during SQL startup. (To save my client privacy, I have changed the name and location)
As usual, during such situation, I always start with SQL Server ERRORLOG. SQL SERVER – Where is ERRORLOG? Various Ways to Find ERRORLOG Location
In ERRORLOG file, we get the following error message from when we try to start SQL service manually:
Error: 17300, Severity: 16, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped.
Based on my search on the internet, this error is due to insufficient memory available to SQL Server instance. So, the solution would be to increase SQL memory. But how? SQL is not stating at all!
- Use the following command to start SQL Server instance HR and use SQLCMD to log in SQL:
net start MSSQLServer /mSQLCMD /f
Note: /f or -f: this parameter is used to start SQL Server in “minimal configuration” mode. This parameter is used in situations when a DBA has changed some configuration options which is causing SQL Server service startup failure. This startup parameter might be the only way to correct the mistakes in the SQL Server configuration. I was thinking to use “m” as “minimal” but its already taken by single user mode.
- Use the following command to log in SQL server:
SQLCMD -E -S SQLPINAL
- Reset the max server memory for SQL instance
EXEC sp_configure 'show advanced option', '1' GO RECONFIGURE WITH OVERRIDE GO EXEC sp_configure 'max server memory', '102400' GO RECONFIGURE WITH OVERRIDE GO
Note: you need to set the value based on your requirement. I have used 10 GB for my environment.
In their environment, I found that max server memory was set to 128 MB and no one could figure out how it happened. Do you know any method? Please comment and let me know.
Reference: Pinal Dave (https://blog.SQLAuthority.com)