SQL Server のインストール後にデータディレクトリを変更する

このページのタグ:[SQL Server]
SQL Server のインストール後にデータディレクトリを変更する手順を紹介します。

起動パラメーターの変更

SQL Server の起動パラメーターで master データベース、masterデータベースのログ、エラーログ、を指定しているため、起動パラメータを変更します。

SQL Server 構成マネージャーを起動します。左側のツリービューで[SQL Server のサービス]ノードをクリックして選択します。右側のエリアにサービスの一覧が表示されます。


サービスの[SQL Server]をクリックして選択し、右クリックします。ポップアップメニューが表示されますので[プロパティ]メニューをクリックします。


[SQL Server のプロパティ]ダイアログが表示されます。


ダイアログの[起動時のパラメーター]タブをクリックして選択します。下図の画面が表示されます。


[既存のパラメータ]の欄に、master データベース、masterデータベースのログ、エラーログファイルが指定されています。


ファイルパスを変更したいディレクトリのパスに変更します。変更後[OK]ボタンをクリックします。


加えた変更は、SQL Serverのサービスを再起動しないと有効にならない旨のメッセージダイアログが表示されます。OKボタンをクリックします。

master データベースの移動

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 データベースの移動

続いて、model, msdb データベースを新しい場所に移動します。この2つのデータベースの移動にはSQL文を実行します。下図のSQL文を実行します。

model データベース


ALTER DATABASE model MODIFY FILE ( NAME = modeldev , FILENAME = '(変更後のデータディレクトリ)\model.mdf' );
ALTER DATABASE model MODIFY FILE ( NAME = modellog , FILENAME = '(変更後のデータディレクトリ)\modellog.ldf' );

msdb データベース


ALTER DATABASE msdb MODIFY FILE ( NAME = MSDBData , FILENAME = '(変更後のデータディレクトリ)\MSDBData.mdf' );
ALTER DATABASE msdb MODIFY FILE ( NAME = MSDBLog , FILENAME = '(変更後のデータディレクトリ)\MSDBLog.ldf' );

modelデータベース

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' );
msdbデータベース

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 の実行後、SQL Server 構成マネージャーでSQL Serverを停止します。停止後、model, msdb データベースを先のSQL文で指定した、新しいパスの場所に移動します。


tempdb データベースの移動
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]ボタンをクリックします。


レジストリの確認

SQL Server起動パラメーターの確認

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQLServer\Parameters にmasterデータベースと、ログファイルのパスが指定されています。先に紹介した手順で[SQL Server 構成マネージャー]を開きサービスのプロパティで変更していれば、こちらの値は変更後の値が入力されているはずです。

SQL Server Agent のエラーログファイルの設定

SQL Server Agentのエラーログの場所も新しいディレクトリに変更します。レジストリエディタを開き、 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.MSSQLSERVER\SQLServerAgent の ErrorLogFile 値に入っているパスを、新しいログディレクトリのパスに変更します。


以上で設定は完了です。

プライバシー    iPentecについて
iPentec all rights reserverd. (ISDC)