猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

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
-,

執筆者:

関連記事

sqlserver

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

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

mysql

MySQLが起動できない

エラーログには下記ログが大量に出力されて起動できない・・・。 2013-08-22 17:32:10 30137 [ERROR] InnoDB: Unable to lock ./ibdata1, e …

mysql

MySQLのwait_timeout

データベースやWebサーバーは、実際に稼働してから問題が多発します。 データ量が増えてきたり、アクセスが増えてきたらまずレスポンスの問題が発生するでしょう。 経験のあるエンジニアがいれば、十分なテスト …

mysql

mysqldumpでテーブル毎のダンプを圧縮して取得するスクリプト

mysqldumpではデータベースを指定して一括してダンプを取得できます。テーブル毎のダンプも取得できます。 しかし、一括して取得したダンプの1つのテーブルだけをインポートすることはできません。これは …

mysql

CentOS6.4にMySQL5.6をインストールする

INDEX1 RPMのダウンロード2 tarの解凍3 rpmをyumでインストール4 サービス名が違う?5 mysql_secretにrootの初期パスワードはある6 mysql_secure_ins …