There was a question this morning on the SQL Server Community Slack channel from SvenLowry about how to launch SQL Server on Linux in Single User Mode. Well you’ve heard everyone say, it’s just SQL Server…and that’s certainly true and this is another example of that idea.
The command line parameters from the sqlservr binary are passed through into the SQLPAL managed Win32 SQL Process. So let’s check out how to do this together…
First, you’ll want to switch to the user mssql and you can do that with this command
bash-4.2$ sudo su mssql –
bash-4.2$ /opt/mssql/bin/sqlservr -m
2017-11-09 12:53:18.70 Server Microsoft SQL Server 2017 (RTM-CU1) (KB4038634) – 14.0.3006.16 (X64)
Oct 19 2017 02:42:29
Copyright (C) 2017 Microsoft Corporation
Developer Edition (64-bit) on Linux (CentOS Linux 7 (Core))
2017-11-09 12:53:18.70 Server UTC adjustment: -6:00
2017-11-09 12:53:18.70 Server (c) Microsoft Corporation.
2017-11-09 12:53:18.70 Server All rights reserved.
2017-11-09 12:53:18.70 Server Server process ID is 4120.
2017-11-09 12:53:18.70 Server Logging SQL Server messages in file ‘/var/opt/mssql/log/errorlog’.
2017-11-09 12:53:18.70 Server Registry startup parameters:
2017-11-09 12:53:18.70 Server Command Line Startup Parameters:
2017-11-09 12:53:19.50 spid4s SQL Server started in single-user mode. This an informational message only. No user action is required.
2017-11-09 12:53:19.90 spid4s Always On Availability Groups was not started because the SQL Server instance is running in single-user mode. This is an informational message. No user action is required.
2017-11-09 12:53:20.62 spid4s Recovery is complete. This is an informational message only. No user action is required.