現象
Linux で SQL Server 2017 を使用することを前提としています。 既定では、master データベースは場所/var/opt/mssql/dataにあります。ここで、master データベースファイルとエラーログファイルの場所を別の場所に変更します。
解決方法
この更新プログラムは、SQL Server の次の累積的な更新プログラムに含まれています。
SQL server 2017 CU4 をインストールした後、master データベースファイルとエラーログファイルの場所を変更できます。
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
詳細情報
Errorlogfile の場所を構成します。
-
次のコマンドを使用して、新しいエラーログの場所を設定します。 フォルダー構造が事前に作成されていて、' mssql ' アカウントにファイルを作成する権限があることを確認します。
-
/mssql-conf set filelocation/home/user/sqlserver/log/errorlog
-
エラーログの環境変数は MSSQL_ERROR_LOG_FILE です。
-
次に、マスターデータベースファイルの場所を構成するシナリオと手順を示します。
注: 変更を行う前に、master データベースを含むすべてのデータベースの完全なバックアップを作成していることを確認してください。
シナリオ 1: 既存の SQL インストール上で master データベースファイルの場所を変更します。
-
Mssql/mastlog とエラーログの場所を指定するための新しいオプションが、mssql-conf ユーティリティに用意されています。
-
場所を設定するためのコマンドを次に示します。
-
/mssql-conf filelocation データファイル/home/user/sqlserver/data/master.mdf を設定します。
-
./mssql-conf filelocation/home/user/sqlserver/data/mastlog.ldf
-
設定を構成する前に、指定したパスが既に存在し、"mssql" ユーザーにフォルダーへのフルアクセス許可があることを確認します。
-
この設定を構成した後、[mssql-server (systemctl stop mssql-server)] を設定して、mastlog とを構成されている場所に移動し、sql server を再起動します (systemctl start mssql-server)。
シナリオ 2: インストール前にマスターデータベースファイルの事前構成の場所。
-
Mssql-server をインストールした後 (例: apt-get install mssql-server)。
-
環境変数は、次のように設定できます。
-
エクスポート MSSQL_MASTER_DATA_FILE =/home/user/sqlservr/data/master.mdf
-
エクスポート MSSQL_MASTER_LOG_FILE =/home/user/sqlservr/data/mastlog.ldf
-
または、シナリオ1で説明した手順を使用して構成を設定し、mssql アカウントが所有している /var/opt/mssql/ フォルダーのアクセス許可を変更することもできます。 環境変数と mssql-conf の設定を行う場合は、環境変数が優先されます。
注: マスターデータベースのファイル名は、インストール中に ' mastlog ' またはmaster ログであるmastlog.ldf'必要があります。 ファイル名が後で変更される可能性があります。
フォルダー構造が作成されていないか、mssql アカウントに適切な権限がない場合は、セットアップ中に次のエラーが表示されます。
エラー: BootstrapSystemDataDirectories () エラー (HRESULT 0x80070002)
Microsoft SQL Server の初期セットアップに失敗しました。 エラーログを参照してください。
シナリオ 3: マスターデータベースファイルの名前を変更する
-
Mssql-server を停止します。
-
Mssql-conf を使用してファイル名を設定する
-
マスターデータベースファイルの名前を、構成されているファイル名に変更します。
-
Mssql-server の開始
マスターデータベースファイルの名前を変更するコマンドを次に示します。
systemctl の停止 mssql-サーバー
/mssql-conf filelocation データファイル/home/sqlservr/data/testmaster.mdf を設定します。
./mssql-conf filelocation/home/sqlservr/data/testmastlog.ldf
mv/home/sqlservr/data/master.mdf/home/sqlservr/data/testmaster.mdf
mv/home/sqlservr/data/mastlog.ldf/home/sqlservr/data/testmastlog.ldf
systemctl start mssql-サーバー
参照情報
ソフトウェアの更新を説明するために Microsoft が使用する 用語について説明します。