web-dev-qa-db-ja.com

ドライブ文字を変更します(システムデータベースが含まれています)

システムデータベースのみを保持するボリュームのドライブ文字を安全に変更することは可能ですか?

どのような予防策を講じる必要があり、どのようにすべきですか?コンピュータの管理>ストレージに移動してドライブ文字を変更することはできますが、SQL Serverの動作に悪影響を与える可能性があることは知っていますか?

4
WhoIsNinja

MSDNの記事「システムデータベースの移動」 で説明されている手順に従う必要があります。

5
Thomas Rushton

トーマスは優れた記事を指摘しました。

以下は、移動を実行するときに私が従うものの要約バージョンです。

  1. システムdbsファイルの場所を変更します(マスターデータベースを除く)。

    ALTER DATABASE  Model  MODIFY FILE ( NAME = modeldev, FILENAME = 'Drive Letter:\Path\model.mdf' )
    ALTER DATABASE  Model  MODIFY FILE ( NAME = modellog , FILENAME = 'Drive Letter:\Path\modellog.ldf' )
    ALTER DATABASE  MSDB MODIFY FILE ( NAME = MSDBData, FILENAME = 'Drive Letter:\Path\MSDBData.mdf' )
    ALTER DATABASE  MSDB MODIFY FILE ( NAME = MSDBLog , FILENAME = 'Drive Letter:\Path\MSDBLog.ldf' )
    ALTER DATABASE  tempdb MODIFY FILE ( NAME = tempdev , FILENAME = 'Drive Letter:\PathL\tempdb.mdf' )
    ALTER DATABASE  tempdb MODIFY FILE ( NAME = templog , FILENAME = 'Drive Letter:\PathR\emplog.ldf' )
    
  2. すべての.mdfファイルと.ldfファイルを新しい場所に移動します

  3. デタッチモデル、MSDBおよびTempdb

    SELECT 'EXEC MASTER.dbo.sp_detach_db @dbname = N'''
    + Name + ''''FROM sys.sysdatabases
    WHERE dbid in (2,3,4) -- Only system dbs except MASTER DB
    
  4. マスターデータベースの移動手順 で説明されている手順に従います。

  5. SQL Serverインスタンスを停止する

  6. モデル、MSDB、Tempdb、およびマスターデータとログファイルを新しい場所に移動する

  7. SQL Serverのインスタンスを再起動します

  8. DBメールがすでに構成されている場合は、必ずService Brokerを有効にしてください。

  9. SQL Serverエージェントのログパスとデータベースのデフォルトの場所のパスを変更します。

2
Kin Shah