方法: データベースをバックアップする (SQL Azure)

Windows Azure Platform

Microsoft SQL Azure データベースは、Windows Azure Platform 上のリレーショナル データベース サービスです。SQL Azure でデータベースを作成したら、それを新しいデータベースにコピーして、データベースをバックアップすることができます。このトピックでは、データベースを同じ SQL Azure サーバー上の新しいデータベースにコピーする方法について説明します。

コピー処理によって作成された新しいデータベースは通常のデータベースになり、ソース データベースとは独立して完全に機能します。詳細については、「SQL Azure でのデータベースのコピー」を参照してください。

データベースを同じサーバー上の新しいデータベースにコピーする方法

  1. サーバーレベル プリンシパル ログイン、またはソース データベースを作成したログインを使用して、master データベースにログオンします。サーバーレベル プリンシパル以外のログインでデータベースをコピーするには、dbmanager ロールのメンバーである必要があります。ログインの詳細については、「SQL Azure におけるデータベースとログインの管理」を参照してください。サーバーへの接続の詳細については、「開発: 方法に関するトピック (SQL Azure データベース)」を参照してください。

  2. SQL Azure CREATE DATABASE ステートメントを使用して、ソース データベースのコピーを開始します。このステートメントを実行すると、データベースのコピー処理が開始されます。これは非同期プロセスなので、CREATE DATABASE ステートメントが戻ってからデータベースのコピーが完了します。

  3. sys.databases および sys.dm_database_copies ビューをクエリして、コピー処理を監視します。

    1. コピーが進行中の場合は、新しいデータベースの sys.databases ビューの state_desc 列に、"COPYING" と表示されます。
    2. コピーが失敗した場合は、新しいデータベースの sys.databases ビューの state_desc 列に、"SUSPECT" と表示されます。この場合は、新しいデータベースに対して DROP ステートメントを実行してから、コピーを再実行してください。
    3. コピーが成功した場合は、新しいデータベースの sys.databases ビューの state_desc 列に、"ONLINE" と表示されます。この場合は、コピーが完了し、新しいデータベースは通常のデータベースになり、ソース データベースとは無関係に変更することができます。
  4. (オプション) コピーの進行中にコピー操作をキャンセルする場合は、新しいデータベースに対して DROP DATABASE ステートメントを実行します。または、ソース データベースに対して DROP DATABASE ステートメントを実行して、コピー処理をキャンセルすることもできます。

次のコード例では、データベースのコピー処理を開始し、データベース Database1A を同じ SQL Azure サーバー上の Database1B という名前の新しいデータベースにコピーします。

-- execute on the master database
-- start copying
CREATE DATABASE Database1B AS COPY OF Database1A

次のコード例では、Database1B という名前の新しいデータベースに関する情報を取得するために sys.databases および sys.dm_database_copies ビューをクエリして、データベースのコピー処理を監視します。

-- execute on the master database
-- retrieve state of the new database, Database1B
select name, state, state_desc from sys.databases
where name = 'Database1B'

-- retrieve copying details
select * from sys.dm_database_copies
where database_id = DB_ID('Database1B')

参照

タスク

方法: データベースを別のサーバーにコピーする (SQL Azure)

情報参照

CREATE DATABASE (SQL Azure データベース)

DROP DATABASE (SQL Azure データベース)

概念

SQL Azure でのデータベースのコピー

ページのトップへ