猫型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

SQL Server Management Studio の「上位200行の編集」を変更したい

恐らく私が十分に使用できていないだけで、機能はたくさんありそうなSQL Server Management Studio。最近新しいものに入れ替えたら(OS毎再インストールするハメになったのですが)、 …

sqlserver

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

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

mysql

MySQLのエラー、クエリ、スロークエリのログ

全て /etc/my.cnf の [mysqld] に追記してサーバーを再起動すれば出力されるようになります。 エラーログは開発時には警告も出力しておけばよいでしょう。 クエリログは全てのSELECT …

mysql

utilitiesのmysqlrplshowを使いたい

かれこれ3日ほどはまったので恥を忍んでここに記載しておきます :x001: 構成は以下の通りです。 Windows8:192.168.0.99。mysqlrplshowを実行する └centos:19 …

mysql

MySQLでフラグの列でSELECTする。(複合インデックスの使用条件)

status=’1’とかdelete=’0’といった条件はよく使用することでしょう。 そこでフラグにはどのデータ型がベストなのでしょうか。 INDEX1 …