SQL Server の mdf ldf ファイル名を変更する - SQL Server

MDF LDFファイルの名前を変更する手順を紹介します。

SQL Server 2016 の場合

SQL Server 2016で以前のバージョンと同じ手順で変更しても名前の変更ができません。

現象

SQL Server Management Studio を起動します。変更したいmdf, ldfファイルのデータベースをデタッチします。その後、データディレクトリのデタッチしたmdf, ldfファイルの名前を変更します。

SQL Server Management Studio を起動します。オブジェクトエクスプローラで[データベース]のノードを選択し、右クリックします。ポップアップメニューが表示されますので[アタッチ]メニューを選択します。


下図の[データベースのインポート]ダイアログボックスが表示されます。[アタッチする]データベース欄の[追加]ボタンをクリックします。ファイル選択ダイアログボックスが表示されるので、アタッチするデータベースのmdfファイルを指定します。


mdfファイルが読み込まれました。ダイアログ右下の[OK]ボタンをクリックします。


[データベースのインポート中にエラーが発生しました。詳細については、メッセージ列のハイパーリンクをクリックしてください。]のメッセージが表示されます。


[データベースのインポート]ダイアログボックスの[アタッチするデータベース]欄の[メッセージ]列にリンクがありますので、こちらをクリックします。


「データベースのインポートに失敗しました。データベースのインポートには少なくとも1つのファイルが必要です。」のエラーメッセージが表示されます。


エラーメッセージは表示されますが、ファイル名を変更したMDF LDF ファイル名を指定する欄が無いため、SQL Server Management Studio では名前の変更ができません。

対策

SQL Server Management Studio では処理できないため
SQLコマンドでアタッチを実行します。
sp_attach_db (データベース名), '(mdfファイルのフルパス)', '(ldfファイルのフルパス)'

コマンド例

sp_attach_db iPentecSandbox,
 'D:\SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\iPentecSandbox.mdf',
 'D:\SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\iPentecSandbox_log.ldf'

作業手順

  1. データベースをデタッチします。
  2. データディレクトリのmdf, ldf ファイル名を変更します。
  3. 上記のSQLコマンドを実行して、データベースをアタッチします。

SQL Server 2008 の場合

  1. データベースをデタッチ
  2. /data ディレクトリ内のMDF LDF ファイル名を変更
  3. データベースをアタッチ
  4. アタッチの際にエラがー出るので、ファイル名を変更したMDF LDF ファイル名を指定する。
以上です。
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2024-01-06
作成日: 2009-06-22
iPentec all rights reserverd.