SQL Server のインストール後にデータディレクトリを変更する手順を紹介します。
SQL Server の起動パラメーターで master データベース、masterデータベースのログ、エラーログ、を指定しているため、起動パラメータを変更します。
SQL Server 構成マネージャーを起動します。左側のツリービューで[SQL Server のサービス]ノードをクリックして選択します。右側のエリアにサービスの一覧が表示されます。
サービスの[SQL Server]をクリックして選択し、右クリックします。ポップアップメニューが表示されますので[プロパティ]メニューをクリックします。
[SQL Server のプロパティ]ダイアログが表示されます。
ダイアログの[起動時のパラメーター]タブをクリックして選択します。下図の画面が表示されます。
[既存のパラメータ]の欄に、master データベース、masterデータベースのログ、エラーログファイルが指定されています。
ファイルパスを変更したいディレクトリのパスに変更します。変更後[OK]ボタンをクリックします。
加えた変更は、SQL Serverのサービスを再起動しないと有効にならない旨のメッセージダイアログが表示されます。OKボタンをクリックします。
SQL Server Management Studio を起動し、データベースノード内の[システムデータベース]のノードを開きます。ノード内の[master]データベースのノードを選択し、右クリックしてポップアップメニューを表示し[プロパティ]メニューを選択します。
[データベースのプロパティ]ダイアログが表示されます。
左側の[ページの選択]エリアの[ファイル]を選択します。下図の画面が表示されます。[データベース ファイル]のセクションにデータベースのファイルと、ファイルの保存パスが表示されています。
[SQL Server 構成マネージャー]を開きます。左側のツリービューで[SQL Server のサービス]のノードをクリックして選択します。右側にSQL Serverのサービスが表示されますので、リストから[SQL Server]のサービスの項目をクリックして選択し、右クリックのポップアップメニューを表しします。メニューの[停止]をクリックし、SQL Serverを停止します。
SQL Serverが停止しました。
先ほど確認した、SQL Serverのデーターファイルを開きます。データファイルの"master.mdf", "masterlog.ldf"ファイルを、SQL Serverの "起動パラメーター" で指定した新しいパスに移動します。
ログファイルも SQL Serverの起動パラメーターで指定した新しい場所に移動します。
[SQL Server 構成マネージャー]に戻り、SQL Server のサービスを開始します。
続いて、model, msdb データベースを新しい場所に移動します。この2つのデータベースの移動にはSQL文を実行します。下図のSQL文を実行します。
ALTER DATABASE model MODIFY FILE ( NAME = modeldev , FILENAME = '(変更後のデータディレクトリ)\model.mdf' );
ALTER DATABASE model MODIFY FILE ( NAME = modellog , FILENAME = '(変更後のデータディレクトリ)\modellog.ldf' );
ALTER DATABASE msdb MODIFY FILE ( NAME = MSDBData , FILENAME = '(変更後のデータディレクトリ)\MSDBData.mdf' );
ALTER DATABASE msdb MODIFY FILE ( NAME = MSDBLog , FILENAME = '(変更後のデータディレクトリ)\MSDBLog.ldf' );
ALTER DATABASE model MODIFY FILE ( NAME = modeldev , FILENAME = 'E:\SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\model.mdf' );
ALTER DATABASE model MODIFY FILE ( NAME = modellog , FILENAME = 'E:\SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\modellog.ldf' );
ALTER DATABASE msdb MODIFY FILE ( NAME = MSDBData , FILENAME = 'E:\SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\MSDBData.mdf' );
ALTER DATABASE msdb MODIFY FILE ( NAME = MSDBLog , FILENAME = 'E:\SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\MSDBLog.ldf' );
SQL の実行後、SQL Server 構成マネージャーでSQL Serverを停止します。停止後、model, msdb データベースを先のSQL文で指定した、新しいパスの場所に移動します。
tempdbデータベースの移動にもSQL文を実行します。下図のSQL文を実行します。
ALTER DATABASE tempdb MODIFY FILE ( NAME = tempdev, FILENAME = '(変更後のデータディレクトリ)\tempdb.mdf' );
ALTER DATABASE tempdb MODIFY FILE ( NAME = templog, FILENAME = '(変更後のデータディレクトリ)\tempdb.ldf' );
ALTER DATABASE tempdb MODIFY FILE ( NAME = tempdev, FILENAME = 'E:\SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\tempdb.mdf' );
ALTER DATABASE tempdb MODIFY FILE ( NAME = templog, FILENAME = 'E:\SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\tempdb.ldf' );
SQL文を実行します。
次回のデータベース起動時に新しいパスが使用される旨のメッセージが表示されます。
SQL Server 構成マネージャーでSQL Serverを停止します。停止後、データディレクトリにある、modelデータベース、MSDBデータベース、tempdbデータベースのファイルを新しいディレクトリに移動します。|
SQL Server Management Studio を起動します。左側の[オブジェクトエクスプローラー]のツリービュでサーバーのノードを選択します。
右クリックしてポップアップメニューを表示します。メニューの[プロパティ]をクリックします。
[サーバーのプロパティ]ダイアログが表示されます。
左側の[ページの選択]エリアの[データベースの設定]をクリックします。下図の画面が表示されます。
ダイアログの下部の[データベースの既定の場所]セクションの[データ]欄がデフォルトのデータディレクトリのパス、[ログ]欄がデフォルトのログディレクトリのパス、[バックアップ]欄がデフォルトのバックアップディレクトリのパスになります。それぞれのパスを新しいディレクトリに変更します。変更後ダイアログ下部の[OK]ボタンをクリックします。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQLServer\Parameters
にmasterデータベースと、ログファイルのパスが指定されています。先に紹介した手順で[SQL Server 構成マネージャー]を開きサービスのプロパティで変更していれば、こちらの値は変更後の値が入力されているはずです。
SQL Server Agentのエラーログの場所も新しいディレクトリに変更します。レジストリエディタを開き、
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.MSSQLSERVER\SQLServerAgent
の
ErrorLogFile 値に入っているパスを、新しいログディレクトリのパスに変更します。
以上で設定は完了です。