SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

SQL Server on Linux で master データベースのバックアップをリストアする

leave a comment

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 版と共通みたいですね。

Share

Written by Masayuki.Ozawa

12月 11th, 2016 at 1:46 pm

Posted in SQL Server

Tagged with

Leave a Reply