DataBase SQLServer

SQLSERVER インストール後にDataをDドライブ(別ドライブへ)移動する方法

投稿日:

通常OSはCドライブ、データはDドライブなどの別ドライブを使用します。
SQLSERVERではデータの肥大化が起こりうる実データファイル(mdfやldf)をCドライブ以外に変更したい場面は多いはずです。
以下その手順です。

下記その手順です。

SQLSERVERで保持しているロケーションを変更する

以下のSELECT文でデータベース毎に保持ているロケーションは確認できすます。
もし既にデータベースを作成している場合はTestDBの部分を変更して確認してみてください。
2014の初期状態ではmaster、model、msdb、tempdbという4つのDBがありました。

SELECT name, physical_name AS CurrentLocation, state_desc
FROM sys.master_files
WHERE database_id = DB_ID(N'TestDB');

確認ができたら下記Alter文で設定を変更します。
下記の例の場合は事前にDドライブにMSQSSQL\DATAというフォルダを作成しておきます。

ALTER DATABASE distribution MODIFY FILE ( NAME = 'distribution' , FILENAME = 'D:\MSSQL\DATA\distribution.MDF' );
ALTER DATABASE distribution MODIFY FILE ( NAME = 'distribution_log' , FILENAME = 'D:\MSSQL\DATA\distribution.LDF' );
ALTER DATABASE master MODIFY FILE ( NAME = 'master' , FILENAME = 'D:\MSSQL\DATA\master.mdf' );
ALTER DATABASE master MODIFY FILE ( NAME = 'mastlog' , FILENAME = 'D:\MSSQL\DATA\mastlog.ldf' );
ALTER DATABASE model MODIFY FILE ( NAME = 'modeldev' , FILENAME = 'D:\MSSQL\DATA\model.mdf' );
ALTER DATABASE model MODIFY FILE ( NAME = 'modellog' , FILENAME = 'D:\MSSQL\DATA\modellog.ldf' );
ALTER DATABASE MSDB MODIFY FILE ( NAME = 'MSDBData' , FILENAME = 'D:\MSSQL\DATA\MSDBData.mdf' );
ALTER DATABASE MSDB MODIFY FILE ( NAME = 'MSDBLog' , FILENAME = 'D:\MSSQL\DATA\MSDBLog.ldf' );
ALTER DATABASE Stream2 MODIFY FILE ( NAME = 'Stream2' , FILENAME = 'D:\MSSQL\DATA\Stream2.mdf' );
ALTER DATABASE Stream2 MODIFY FILE ( NAME = 'Stream2_log' , FILENAME = 'D:\MSSQL\DATA\Stream2_log.ldf' );
ALTER DATABASE tempdb MODIFY FILE ( NAME = 'tempdev' , FILENAME = 'D:\MSSQL\DATA\tempdb.mdf' );
ALTER DATABASE tempdb MODIFY FILE ( NAME = 'templog' , FILENAME = 'D:\MSSQL\DATA\templog.ldf' );
ALTER DATABASE TESTDB MODIFY FILE ( NAME = 'TESTDB' , FILENAME = 'D:\MSSQL\DATA\TESTDB.mdf' );
ALTER DATABASE TESTDB MODIFY FILE ( NAME = 'TESTDB_log' , FILENAME = 'D:\MSSQL\DATA\TESTDB_log.ldf' );

SQLSERVERでを停止して実ファイルを移動します

起動時のパラメーターを変更

Sql Server Configuration Managerより MSSQLSERVERを右クリックしてプロパティ。起動時のパラメーターを変更します。
ログファイルは変更しなくてもいいのですが、今回の例ではmaster.mdfとmastlog.ldfは変更する必用があります。
-dD:\MSSQL\DATA\master.mdf
-eC:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Log\ERRORLOG
-lD:\MSSQL\DATA\mastlog.ldf

SQLSERVERでをを再起動します。

以上の手順で変更できたと思います。

Gooleアドセンス用336

Gooleアドセンス用336

-DataBase, SQLServer
-,

執筆者:

関連記事

MySQLにローカルから接続する

リモートから接続するユーザー リモートから接続するユーザーは以下のような感じで作成できます。 $mysql> grant all privileges on *.* to username@’% …

sqlserver

SQLserver テーブルの変更タイムアウト

エラー テーブルを修正できません。 タイムアウトの時間切れです。操作が完了する前にタイムアウト期間を過ぎたか、またはサーバが応答していません。 解決方法 SQL Server Management S …

select insert

私は以前SQLの順番にinsert selectと呼んでいて、笑われたことがあります。 select insertだ!と当時の上司に言われました。 なるほど、副問い合わせのselectが実行されて、そ …

mysql

MySQLの予約語はバッククォーテーション囲んで使用する

列名に”from”や”to”を使用したいことがあるはずです。 そうした場合は”`”(バッククォーテーション)で囲みましょう。 insert into m …

sqlserver

SQLSERVER サービス起動用ユーザーを作成する

SQLサーバーのサービスを起動しているのは、デフォルトではおそらくAdministratorです。 ここに大きな落とし穴があります。 Administratroのパスワードを変更することはセキュリティ …