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 einen anderen SQL Server verfügen, der sich möglicherweise auf einem anderen lokalen Computer oder auf einem virtuellen Computer in Azure befindet. Informationen zum Erstellen eines virtuellen SQL Server-Computers in Azure finden Sie unter Bereitstellen eines virtuellen SQL Server-Computers in Azure. Stellen Sie sicher, dass Sie eine Verbindung mit einer SQL Server-Instanz in dieser virtuellen SQL Server-VM über SQL Server Management Studio auf einem anderen Computer herstellen können, nachdem Sie diese in Azure bereitgestellt haben.

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

  • Sie verfügen über ein Azure-Speicherkonto.

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

  • Sie haben eine Richtlinie für einen Container mit Lese-, Schreib- und Listenrechten erstellt. Sie haben auch einen SAS-Schlüssel generiert.

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

  • Sie haben bereits einen virtuellen SQL Server-Zielcomputer in Azure erstellt. Es wird empfohlen, es zu erstellen, indem Sie ein Plattformimage auswählen, das SQL Server 2014 enthält.

Um eine Datenbank von SQL Server lokal zu einem anderen virtuellen Computer in Azure zu migrieren, können Sie die folgenden Schritte ausführen:

  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 die folgenden 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 sie zuerst vorbereiten. Um Ihren Zielcomputer vorzubereiten, müssen Sie zuerst eine SQL Server-Anmeldeinformation erstellen auf dem Zielcomputer. Wenn es sich um eine verschlüsselte Datenbank handelt, müssen Sie auch das Zertifikat vom Quellcomputer auf den Zielcomputer importieren.

    1. Führen Sie die folgenden Schritte aus, um einen SQL Server-Berechtigungsnachweis auf dem Zielcomputer zu erstellen:

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

      2. Klicken Sie auf der Standardtoolleiste auf "Neue Abfrage".

      3. Kopieren Sie das folgende Beispiel, und fügen Sie es nach Bedarf in das Abfragefenster ein. Die folgende Anweisung erstellt eine SQL Server-Anmeldeinformation, um das Zugriffszertifikat Ihres Speichercontainers zu speichern.

        
        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 die folgende Anweisung im Abfragefenster 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 hat der Zielcomputer das Verschlüsselungszertifikat importiert, das vom Quellcomputer gesichert wurde. Als Nächstes können Sie die Datendateien auf dem Zielcomputer anfügen.

    2. Erstellen Sie dann eine Datenbank mit Daten- und Protokolldateien, die auf die vorhandenen Dateien in Azure Storage verweisen, indem Sie die OPTION FOR ATTACH verwenden. Führen Sie im Abfragefenster die folgende Anweisung 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", klicken Sie mit der rechten Maustaste auf "Aktualisieren". Die neu erstellte Datenbank TestDB1onDest sollte aufgelistet sein.

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

      
      USE TestDB1onDest   
      SELECT * FROM Table1;   
      GO  
      
      

      Dies sollte alle Daten auflisten, die Sie in Lektion 4 eingegeben haben.

Beachten Sie, dass die verschlüsselte Datenbank ohne Datenverschiebung an eine andere Computeinstanz ü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 mithilfe der 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 anschließend diese Instanz.

  2. Klicken Sie mit der rechten Maustaste auf "Datenbanken", und klicken Sie dann auf "Neue Datenbank". Klicken Sie dann mit der rechten Maustaste auf TestDB1. Klicken Sie auf "Vorgänge", und klicken Sie dann auf "Trennen". Aktivieren Sie im Dialogfeld "Trennen" die Option "Drop Connections". Klicke auf OK.

  3. Stellen Sie eine Verbindung mit dem Zielcomputer her, auf dem SQL Server 2014 CTP2 oder höher installiert ist. Um Ihren Zielcomputer vorzubereiten, müssen Sie eine SQL Server-Anmeldeinformation auf dem Zielcomputer erstellen, um auf denselben Container zu verweisen, in dem TestDB1 enthalten ist. Wenn Sie denselben Computer neu anschließen, müssen Sie keine weiteren Anmeldeinformationen erstellen.

  4. Klicken Sie im 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 datenbank anzugeben, die angefügt werden soll. Im Dialogfeld "Datenbankdateien suchen ":

    Geben Sie für den Speicherort der Datenbankdatendatei Folgendes ein: https://teststorageaccnt.blob.core.windows.net/testcontainer/.

    Geben Sie für den Dateinamen Folgendes ein: TestDB1Data.mdf.

  6. Klicke auf OK.

    SQL 14 CTP2

Nächste Lektion:

Lektion 7: Verschieben Ihrer Datendateien in Azure Storage