次の方法で共有


レッスン 6: オンプレミスのソース マシンから Azure の移行先マシンにデータベースを移行する

このレッスンでは、別のオンプレミス コンピューターまたは Azure の仮想マシンに存在する可能性がある別の SQL Server が既にあることを前提としています。 Azure で SQL Server 仮想マシンを作成する方法については、「Azure での SQL Server 仮想マシンのプロビジョニング」を参照してください。 Azure で SQL Server 仮想マシンをプロビジョニングした後、別のコンピューターの SQL Server Management Studio を使用して、この仮想マシン内の SQL Server のインスタンスに接続できることを確認します。

このレッスンでは、次の手順を既に完了していることを前提としています。

  • Azure Storage アカウントを所有しています。

  • Azure Storage アカウントの下にコンテナーを作成しました。

  • 読み取り、書き込み、およびリスト権限を持つコンテナーにポリシーを作成しました。 SAS キーも生成しました。

  • ソース マシンに SQL Server 資格情報を作成しました。

  • Azure に移行先の SQL Server 仮想マシンが既に作成されています。 SQL Server 2014 を含むプラットフォーム イメージを選択して作成することをお勧めします。

オンプレミスの SQL Server から Azure の別の仮想マシンにデータベースを移行するには、次の手順に従います。

  1. ソース マシン (このチュートリアルではオンプレミスコンピューター) で、SQL Server Management Studio でクエリ ウィンドウを開きます。 次のステートメントを実行して、データベースをデタッチして別のマシンに移動します。

    -- Detach the database in the source machine   
    USE master  
    EXEC sp_detach_db 'TestDB1', 'true';  
    
  2. データベースを転送先のマシンに転送する必要がある場合は、まずデータベースを準備する必要があります。 移行先マシンを準備するには、まず、移行先マシンに SQL Server 資格情報を作成する必要があります。 暗号化されたデータベースの場合は、ソース マシンからコピー先マシンにも証明書をインポートする必要があります。

    1. 移行先マシンに SQL Server 資格情報を作成するには、次の手順に従います。

      1. ソース コンピューターの SQL Server Management Studio を使用して、移行先マシンに接続します。 または、対象のコンピューターで SQL Server Management Studio を直接起動します。

      2. 標準ツール バーで、[ 新しいクエリ] をクリックします。

      3. 次の例をコピーしてクエリ ウィンドウに貼り付け、必要に応じて変更します。 次のステートメントでは、ストレージ コンテナーの Shared Access Certificate を格納するための SQL Server 資格情報を作成します。

        
        USE master   
        GO   
        CREATE CREDENTIAL [http://teststorageaccnt.blob.core.windows.net/testcontainer]   
        WITH IDENTITY='SHARED ACCESS SIGNATURE',   
        SECRET = 'your SAS key'   
        GO  
        
        
      4. 使用可能なすべての資格情報を表示するには、クエリ ウィンドウで次のステートメントを実行します。

        SELECT * from sys.credentials   
        
      5. 移行先サーバーに接続したら、クエリ ウィンドウを開き、次のコマンドを実行します。

        
        -- Create a master key and a server certificate   
        USE master   
        GO   
        CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MySQLKey01'; -- You may use a different password.   
        GO   
        CREATE CERTIFICATE MySQLCert   
        FROM FILE = 'C:\certs\MySQLCert.CER'   
        WITH PRIVATE KEY   
        (   
        FILE = 'C:\certs\MySQLPrivateKeyFile.PVK',   
        DECRYPTION BY PASSWORD = 'MySQLKey01'   
        );   
        GO  
        
        

        この手順の最後に、移行先マシンは、ソース マシンからバックアップされた暗号化証明書をインポートしました。 次に、コピー先のマシンにデータ ファイルをアタッチできます。

    2. 次に、FOR ATTACH オプションを使用して、Azure Storage 内の既存のファイルを指すデータ ファイルとログ ファイルを含むデータベースを作成します。 クエリ ウィンドウで、次のステートメントを実行します。

      
      --Create a database on the destination server   
      CREATE DATABASE TestDB1onDest   
      ON   
      (NAME = TestDB1_data,   
          FILENAME = 'https://teststorageaccnt.blob.core.windows.net/testcontainer/TestDB1Data.mdf' )   
      LOG ON   
       (NAME = TestDB1_log,   
          FILENAME = 'https://teststorageaccnt.blob.core.windows.net/testcontainer/TestDB1Log.ldf')   
      FOR ATTACH   
      GO  
      
      
    3. オブジェクト エクスプローラーで、[データベース] をクリックし、[更新] を右クリックします。 新しく作成されたデータベース TestDB1onDest が一覧表示されます。

    4. 次に、クエリ ウィンドウで次のステートメントを実行します。

      
      USE TestDB1onDest   
      SELECT * FROM Table1;   
      GO  
      
      

      これで、レッスン 4 で入力したすべてのデータが一覧表示されます。

暗号化されたデータベースは、データ移動なしで別のコンピューティング インスタンスに転送されることに注意してください。

SQL Server Management Studio ユーザー インターフェイスを使用して、Azure Storage 内の既存のファイルを指すデータ ファイルとログ ファイルを含むデータベースを作成するには、次の手順を実行します。

  1. オブジェクト エクスプローラーで、SQL Server データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。

  2. [データベース]を右クリックし、 [新しいデータベース]をクリックします。 次に、TestDB1 を右クリックします。 [タスク] をクリックし、[デタッチ] をクリックします。 [デタッチ] ダイアログ ウィンドウで、[接続の削除] をオンにします。 OK をクリックします。

  3. SQL Server 2014 CTP2 以降がインストールされている移行先マシンに接続します。 移行先マシンを準備するには、TestDB1 を配置したのと同じコンテナーを指すように、移行先マシンに SQL Server 資格情報を作成する必要があります。 同じコンピューターに再アタッチする場合は、別の資格情報を作成する必要はありません。

  4. オブジェクト エクスプローラーで、[データベース] を右クリックし、[アタッチ] をクリックします。

  5. [ データベースのアタッチ ] ダイアログ ボックスで、アタッチするデータベースを指定するには、[ 追加] をクリックします。 [ データベース ファイルの検索 ] ダイアログ ウィンドウで、次の操作を行います。

    [データベース データ ファイルの場所] に「 https://teststorageaccnt.blob.core.windows.net/testcontainer/」と入力します。

    [ファイル名] に「 TestDB1Data.mdf」と入力します。

  6. OK をクリックします。

    SQL 14 CTP2

次のレッスン:

レッスン 7: データ ファイルを Azure Storage に移動する