1

SQL Azureには、データベースをコピーするための非常に便利なコマンドがあります。

CREATE DATABASE NewDatabase AS COPY OF ExistingDatabase

SQL Server 2008 R2に類似したものはありますか?DTSやSQLServerエージェントなどを使用せずに、コマンドで単純なローカルコピーを実行したいだけです。理想的には、複数のコピーを効率的に作成したいと思います。

4

1 に答える 1

2

おそらく最善の方法は、データベースをバックアップして別の名前で復元し、ファイルを新しい場所に移動することです。

backup database ExistingDatabase 
  to disk='c:\...\ExistingDatabase.bak' 
  with copyonly, format;

restore database NewDatabase
  from disk 'c:\...\ExistingDatabase.bak' 
  with move ExistingDatabase to 'NewDatabase.MDF'
  , move ExistingDatabase_log to 'NewDatabase_log.LDF';

Azure データベースは物理的なものではなく、論理的なものにすぎないため、このようなAS COPY OFことは簡単に実行できます。ただし、Azure 以外のデータベースは実際の物理的なものであり、ファイルの場所など、「コピー」操作に関連するすべての詳細に注意する必要があります。

また、SQL Azure はAS COPY OF、データベースの不足を克服できるようにする必要がありmodelます。SQL Server を使用すると、モデルにテンプレート構造を作成でき、後続のすべてCREATE DATABASEがこのテンプレート構造を継承します。

于 2010-11-12T05:33:47.090 に答える