Freigeben über


Lektion 6: Migrieren einer Datenbank von einem lokalen Quellcomputer zu einem Zielcomputer in Azure

In dieser Lektion wird davon ausgegangen, dass Sie bereits über eine andere SQL Server verfügen, die sich möglicherweise auf einem anderen lokalen Computer oder auf einem virtuellen Computer in Azure befindet. Informationen zum Erstellen eines SQL Server virtuellen Computers in Azure finden Sie unter Bereitstellen eines SQL Server virtuellen Computers in Azure. Stellen Sie nach der Bereitstellung eines SQL Server virtuellen Computers in Azure sicher, dass Sie über SQL Server Management Studio auf einem anderen Computer eine Verbindung mit einer instance SQL Server auf diesem virtuellen Computer herstellen können.

In dieser Lektion wird auch davon ausgegangen, dass Sie bereits die folgenden Schritte abgeschlossen haben:

  • Sie verfügen über ein Azure Storage-Konto.

  • Sie haben einen Container unter Ihrem Azure Storage-Konto erstellt.

  • Sie haben eine Richtlinie in einem Container mit Lese-, Schreib- und Auflistungsrechten erstellt. Sie haben auch einen SAS-Schlüssel generiert.

  • Sie haben die SQL Server-Anmeldeinformationen auf dem Quellcomputer erstellt.

  • Sie haben bereits ein Ziel SQL Server virtuellen Computer in Azure erstellt. Es wird empfohlen, dass Sie diesen erstellen, indem Sie ein Plattformimage mit SQL Server 2014 auswählen.

Führen Sie die folgenden Schritte aus, um eine Datenbank von SQL Server lokal zu einem anderen virtuellen Computer in Azure zu migrieren:

  1. Öffnen Sie auf dem Quellcomputer (in diesem Lernprogramm ein lokaler Computer) ein Abfragefenster in SQL Server Management Studio. Trennen Sie die Datenbank, um sie auf einen anderen Computer zu verschieben, indem Sie folgende Anweisungen ausführen:

    -- Detach the database in the source machine   
    USE master  
    EXEC sp_detach_db 'TestDB1', 'true';  
    
  2. Wenn Sie eine Datenbank auf einen Zielcomputer übertragen müssen, müssen Sie ihn zunächst vorbereiten. Um den Zielcomputer vorzubereiten, müssen Sie zunächst SQL Server-Anmeldeinformationen auf dem Zielcomputer erstellen. Wenn es sich um eine verschlüsselte Datenbank handelt, müssen Sie auch das Zertifikat vom Quellcomputer auf den Zielcomputer importieren.

    1. Um SQL Server-Anmeldeinformationen auf dem Zielcomputer zu erstellen, führen Sie folgende Schritte aus:

      1. Stellen Sie eine Verbindung zum Zielcomputer über SQL Server Management Studio auf dem Quellcomputer her. Oder starten Sie SQL Server Management Studio direkt auf dem Zielcomputer.

      2. Klicken Sie auf der Standardsymbolleiste auf Neue Abfrage.

      3. Kopieren Sie das folgende Beispiel in das Abfragefenster, und ändern Sie es nach Bedarf. Die folgende Anweisung erstellt eine SQL Server Anmeldeinformationen zum Speichern des Shared Access Certificate ihres Speichercontainers.

        
        USE master   
        GO   
        CREATE CREDENTIAL [http://teststorageaccnt.blob.core.windows.net/testcontainer]   
        WITH IDENTITY='SHARED ACCESS SIGNATURE',   
        SECRET = 'your SAS key'   
        GO  
        
        
      4. Um alle verfügbaren Anmeldeinformationen anzuzeigen, können Sie im Abfragefenster die folgende Anweisung ausführen:

        SELECT * from sys.credentials   
        
      5. Wenn Sie mit dem Zielserver verbunden sind, öffnen Sie das Abfragefenster, und führen Sie Folgendes aus:

        
        -- 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  
        
        

        Am Ende dieses Schritts wird das vom Quellcomputer kopierte Verschlüsselungszertifikat vom Zielcomputer importiert. Anschließend können Sie die Datendateien auf dem Zielcomputer anfügen.

    2. Erstellen Sie dann mithilfe der FOR ATTACH-Option eine Datenbank mit Daten- und Protokolldateien, die auf die vorhandenen Dateien in Azure Storage verweisen. Führen Sie die folgende Anweisung im Abfragefenster aus:

      
      --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. Klicken Sie im Objekt-Explorer auf "Datenbanken" und mit der rechten Maustaste auf "Aktualisieren". Sie sollten die neu erstellte Datenbank "TestDB1onDest" anzeigen können.

    4. Führen Sie als Nächstes die folgende Anweisung im Abfragefenster aus:

      
      USE TestDB1onDest   
      SELECT * FROM Table1;   
      GO  
      
      

      Es sollten alle Daten aufgelistet werden, die Sie in Lektion 4 eingegeben haben.

Beachten Sie, dass die verschlüsselte Datenbank ohne Datenverschiebung auf eine andere Berechnungsinstanz übertragen wurde.

Führen Sie die folgenden Schritte aus, um eine Datenbank mit Daten- und Protokolldateien zu erstellen, die auf die vorhandenen Dateien in Azure Storage über SQL Server Management Studio Benutzeroberfläche verweisen:

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz der SQL Server-Datenbank-Engine her, und erweitern Sie dann diese Instanz.

  2. Klicken Sie mit der rechten Maustaste auf Datenbanken, und klicken Sie dann auf Neue Datenbank. Klicken Sie anschließend mit der rechten Maustaste auf "TestDB". Klicken Sie auf "Tasks" und dann auf "Trennen". Prüfen Sie "Verbindungen löschen" im Dialogfeld "Trennen". Klicken Sie auf OK.

  3. Stellen Sie eine Verbindung mit einem Zielcomputer her, der SQL Server 2014 CTP2 oder höher aufweist. Um den Zielcomputer vorzubereiten, müssen Sie SQL Server-Anmeldeinformationen auf dem Zielcomputer erstellen, um auf den gleichen Container zu verweisen, in dem sich TestDB1 befindet. Wenn Sie den erneuten Anfügevorgang auf dem gleichen Computer durchführen, ist es nicht erforderlich, andere Anmeldeinformationen zu erstellen.

  4. Klicken Sie in Objekt-Explorer mit der rechten Maustaste auf Datenbanken, und klicken Sie auf Anfügen.

  5. Klicken Sie im Dialogfeld Datenbanken anfügen auf Hinzufügen, um die anzufügende Datenbank anzugeben. Im Dialogfeld Datenbankdateien suchen :

    Geben Sie unter Speicherort der Datenbankdatendatei Folgendes ein: https://teststorageaccnt.blob.core.windows.net/testcontainer/.

    Geben Sie unter Dateiname Folgendes ein: TestDB1Data.mdf.

  6. Klicken Sie auf OK.

    SQL 14 CTP2

Nächste Lektion:

Lektion 7: Verschieben von Datendateien nach Azure Storage