猫型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「Login failed for user ‘xxxxxxx’. 理由: 指定された名前に一致するログインが見つかりませんでした」

Windows認証でAdministratorを指定しているのにログインできない。 そんな場合は以下の手順でAdministratorユーザーを作成します。 INDEX1 起動時のパラメーターの変更2 …

sqlserver

テーブル変更やインデックス追加時にSELECTできるのか

INDEX1 テーブルの変更は運用に影響するのか?2 テーブルの変更3 インデックスの追加 テーブルの変更は運用に影響するのか? 運用中のテーブルを変更しないといけない場合は多々あります。 運用中のテ …

sqlserver

SQL Server Browser を起動する方法

SQL Server構成マネージャーより起動できるはずが、なぜか開始も停止もできない。 コントロール パネル > システムとセキュリティ > 管理ツール > サービス を見ると、SQL Server …

mysql

MySQLのChar型は”(ダブルクォーテーション)ではなく'(シングルクォーテーション)でSELECT

タイトルの通り MySQLのChar型は”(ダブルクォーテーション)ではなく'(シングルクォーテーション)で囲ってSELECT しなければなりません。 正確には、そうしなければパフォーマン …

mysql

MySQLのデータ構造

MySQLのインストールは簡単ですが、 ディレクトリ構造を知っておくことは障害対応にも必要ですのでまとめです。 MYSQLのデータ構成 /etc/my.cnfでメインディレクトリやソケット(mysql …