SQL Server で master データベースをリストアする場合、シングルユーザーモードで起動する必要があります。
master データベースの復元 (Transact-SQL)
これは、SQL Server on Linux でも同様で、SoL も master データベースをリストアする場合、シングルユーザーモードで起動する必要があります。
現状の SoL の場合は、シングルユーザーモードでの起動は、「/lib/systemd/system/mssql-server.service」を編集する方法で実施した方がよいかと思います。
「/opt/mssql/bin/sqlservr」を「-m」オプション付きで実行すると、実行ユーザーを間違うとパーミッションが書き換わってしまい、以降の起動がうまくいかなくなることがあります。
「/lib/systemd/system/mssql-server.service」を開いて、
ExecStart=/opt/mssql/bin/sqlservr ↓ ExecStart=/opt/mssql/bin/sqlservr -m
に編集する方法がよいかと。
編集が終わったら、
systemctl daemon-reload systemctl restart mssql-server
で mssql-server を再起動し、sqlcmd で接続をしてリストアを行います。
restore database master from disk='master.bak' go
master データベースのリストアが終わったら、「/lib/systemd/system/mssql-server.service」の「-m」オプションを外して、再度「daemon-reload」を行ってから、SQL Server を再起動して通常のモードで起動を行います。
シングルユーザーモードのオプションについては Windows 版と共通みたいですね。