1

To back up my SQL Azure database periodically I have been using the simple tSQL statement

CREATE DATABASE FiveModes10_12_12 AS COPY OF FiveModes

But for this project (analysing some experimental results) my database is a local SQL Server 2012 one and I cannot run that statement (I get the error Incorrect syntax near 'COPY'). Looking at the documentation for the CREATE DATABASE command for SQL Server 2012 there is no AS COPY OF option. What is the simplest alternative?

4

1 に答える 1

2

長期コピーの場合は、代わりにデータベース バックアップを取得します。

backup database FiveModes to disk = 'path to .bak file' with init, copy_only;

必要に応じてこれを復元できます。

restore database FiveMode from disk = 'path to .bak file';

バックアップを新しいデータベースとして復元することもできますが、復元中に MDF/LDF ファイルの場所を移動する必要があります。

restore database FiveMode_12_12 from disk = 'path to .bak file'
   with move 'FiveMode' to '<path to place the new copy of MDF>',
   move 'FiveMode_log' to '<path to place the new copy of LDF>'

短期間のコピーのみが必要な場合 (例: コピーを作成し、実験を行い、コピーに戻す)、データベース スナップショットを使用できますが、エンタープライズ ライセンスが必要です。データベース スナップショットを参照してください。

create database FiveModes10_12_12  on
  (Name = 'FiveMode', FileName = '<path to MDF snapshot file>')
as snapshot of FiveModes;

ただし、スナップショットは Azure のコピーとはまったく異なり、長期間保持すると非常に有害であることに注意してください。長時間のコピーにはバックアップを使用します。

于 2012-12-10T09:07:13.887 に答える