Tutorial: Kopieren von Daten aus einer lokalen SQL Server-Datenbank nach Azure Blob StorageTutorial: Copy data from an on-premises SQL Server database to Azure Blob storage

In diesem Tutorial verwenden Sie Azure PowerShell, um eine Data Factory-Pipeline zu erstellen, mit der Daten aus einer lokalen SQL Server-Datenbank nach Azure Blob Storage kopiert werden.In this tutorial, you use Azure PowerShell to create a data-factory pipeline that copies data from an on-premises SQL Server database to Azure Blob storage. Sie erstellen und verwenden eine selbstgehostete Integration Runtime, die Daten zwischen lokalen Speichern und Clouddatenspeichern verschiebt.You create and use a self-hosted integration runtime, which moves data between on-premises and cloud data stores.

Hinweis

Dieser Artikel enthält keine ausführliche Einführung in den Data Factory-Dienst.This article does not provide a detailed introduction to the Data Factory service. Weitere Informationen finden Sie unter Einführung in Azure Data Factory.For more information, see Introduction to Azure Data Factory.

In diesem Tutorial führen Sie die folgenden Schritte aus:In this tutorial, you perform the following steps:

  • Erstellen einer Data Factory.Create a data factory.
  • Erstellen Sie eine selbstgehostete Integration Runtime.Create a self-hosted integration runtime.
  • Erstellen von verknüpften SQL Server- und Azure Storage-DienstenCreate SQL Server and Azure Storage linked services.
  • Erstellen von SQL Server- und Azure Blob-DatasetsCreate SQL Server and Azure Blob datasets.
  • Erstellen einer Pipeline mit Kopieraktivität zum Verschieben der DatenCreate a pipeline with a copy activity to move the data.
  • Starten einer PipelineausführungStart a pipeline run.
  • Überwachen der Pipelineausführung.Monitor the pipeline run.

VoraussetzungenPrerequisites

Azure-AbonnementAzure subscription

Wenn Sie nicht bereits ein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.Before you begin, if you don't already have an Azure subscription, create a free account.

Azure-RollenAzure roles

Damit Sie Data Factory-Instanzen erstellen können, muss dem Benutzerkonto, mit dem Sie sich bei Azure anmelden, die Rolle Mitwirkender oder Besitzer zugewiesen sein, oder es muss ein Administrator des Azure-Abonnements sein.To create data factory instances, the user account you use to log in to Azure must be assigned a Contributor or Owner role or must be an administrator of the Azure subscription.

Wählen Sie im Azure-Portal in der oberen rechten Ecke Ihren Benutzernamen und dann Berechtigungen, um Ihre Berechtigungen im Abonnement anzuzeigen.To view the permissions you have in the subscription, go to the Azure portal, select your username at the top-right corner, and then select Permissions. Wenn Sie Zugriff auf mehrere Abonnements besitzen, wählen Sie das entsprechende Abonnement aus.If you have access to multiple subscriptions, select the appropriate subscription. Beispielanleitungen zum Hinzufügen eines Benutzers zu einer Rolle, finden Sie im Artikel Verwalten des Zugriffs mit RBAC und dem Azure-Portal.For sample instructions on adding a user to a role, see the Manage access using RBAC and the Azure portal article.

SQL Server 2014, 2016 und 2017SQL Server 2014, 2016, and 2017

In diesem Tutorial verwenden Sie eine lokale SQL Server-Datenbank als Quelldatenspeicher.In this tutorial, you use an on-premises SQL Server database as a source data store. Die Pipeline in der in diesem Tutorial erstellten Data Factory kopiert Daten aus dieser lokalen SQL Server-Datenbank (Quelle) in Azure Blob Storage (Senke).The pipeline in the data factory you create in this tutorial copies data from this on-premises SQL Server database (source) to Azure Blob storage (sink). Anschließend erstellen Sie eine Tabelle mit dem Namen emp in Ihrer SQL Server-Datenbank und fügen einige Einträge in die Tabelle ein.You then create a table named emp in your SQL Server database, and insert a couple of sample entries into the table.

  1. Starten Sie SQL Server Management Studio.Start SQL Server Management Studio. Falls die Installation auf Ihrem Computer noch nicht vorhanden ist, helfen Ihnen die Informationen unter Herunterladen von SQL Server Management Studio (SSMS) weiter.If it is not already installed on your machine, go to Download SQL Server Management Studio.

  2. Stellen Sie eine Verbindung mit Ihrer SQL Server-Instanz her, indem Sie Ihre Anmeldeinformationen verwenden.Connect to your SQL Server instance by using your credentials.

  3. Erstellen Sie eine Beispieldatenbank.Create a sample database. Klicken Sie in der Strukturansicht mit der rechten Maustaste auf Datenbanken, und wählen Sie anschließend Neue Datenbank.In the tree view, right-click Databases, and then select New Database.

  4. Geben Sie im Fenster Neue Datenbank einen Namen für die Datenbank ein, und wählen Sie dann OK.In the New Database window, enter a name for the database, and then select OK.

  5. Führen Sie das folgende Abfrageskript für die Datenbank aus, um die Tabelle emp zu erstellen und einige Beispieldaten einzufügen:To create the emp table and insert some sample data into it, run the following query script against the database:

        INSERT INTO emp VALUES ('John', 'Doe')
        INSERT INTO emp VALUES ('Jane', 'Doe')
        GO
    
  6. Klicken Sie in der Strukturansicht mit der rechten Maustaste auf die von Ihnen erstellte Datenbank, und wählen Sie anschließend Neue Abfrage.In the tree view, right-click the database that you created, and then select New Query.

Azure-SpeicherkontoAzure Storage account

Sie verwenden in diesem Tutorial ein allgemeines Azure-Speicherkonto (Azure Blob Storage) als Ziel/Senke-Datenspeicher.In this tutorial, you use a general-purpose Azure storage account (specifically, Azure Blob storage) as a destination/sink data store. Falls Sie noch nicht über ein allgemeines Azure-Speicherkonto verfügen, helfen Ihnen die Informationen unter Erstellen Sie ein Speicherkonto weiter.If you don't have a general-purpose Azure storage account, see Create a storage account. Die Pipeline in der Data Factory, die Sie in diesem Tutorial erstellen, kopiert Daten aus der lokalen SQL Server-Datenbank (Quelle) in diese Azure Blob Storage-Instanz (Senke).The pipeline in the data factory you that create in this tutorial copies data from the on-premises SQL Server database (source) to this Azure Blob storage (sink).

Abrufen des Speicherkontonamens und des KontoschlüsselsGet storage account name and account key

In diesem Tutorial verwenden Sie Name und Schlüssel Ihres Azure-Speicherkontos.You use the name and key of your Azure storage account in this tutorial. Beschaffen Sie den Namen und Schlüssel Ihres Speicherkontos, indem Sie wie folgt vorgehen:Get the name and key of your storage account by doing the following:

  1. Melden Sie sich mit Ihrem Azure-Benutzernamen und dem dazugehörigen Kennwort am Azure-Portal an.Sign in to the Azure portal with your Azure username and password.

  2. Wählen Sie im linken Bereich die Option Weitere Dienste, filtern Sie nach dem Schlüsselwort Speicher, und wählen Sie dann Speicherkonten aus.In the left pane, select More services, filter by using the Storage keyword, and then select Storage accounts.

    Suchen nach einem Speicherkonto

  3. Filtern Sie in der Liste mit den Speicherkonten nach Ihrem Speicherkonto (falls erforderlich), und wählen Sie Ihr Speicherkonto aus.In the list of storage accounts, filter for your storage account (if needed), and then select your storage account.

  4. Wählen Sie im Fenster Speicherkonto die Option Zugriffsschlüssel.In the Storage account window, select Access keys.

    Abrufen des Speicherkontonamens und -schlüssels

  5. Kopieren Sie in den Feldern Speicherkontoname und key1 die Werte, und fügen Sie sie zur späteren Verwendung im Tutorial in einen Editor ein.In the Storage account name and key1 boxes, copy the values, and then paste them into Notepad or another editor for later use in the tutorial.

Erstellen des Containers „adftutorial“Create the adftutorial container

In diesem Abschnitt erstellen Sie einen Blobcontainer mit dem Namen adftutorial in Ihrer Azure Blob Storage-Instanz.In this section, you create a blob container named adftutorial in your Azure Blob storage.

  1. Wechseln Sie im Fenster Speicherkonto zu Übersicht, und wählen Sie die Option Blobs.In the Storage account window, switch to Overview, and then select Blobs.

    Option zum Auswählen von Blobs

  2. Wählen Sie im Fenster Blob-Dienst die Option Container.In the Blob service window, select Container.

    Schaltfläche „Container hinzufügen“

  3. Geben Sie im Fenster Neuer Container im Feld Name den Namen adftutorial ein, und wählen Sie OK.In the New container window, in the Name box, enter adftutorial, and then select OK.

    Eingeben des Containernamens

  4. Wählen Sie in der Liste mit den Containern die Option adftutorial.In the list of containers, select adftutorial.

    Auswählen des Containers

  5. Lassen Sie das Fenster Container für adftutorial geöffnet.Keep the container window for adftutorial open. Sie überprüfen darauf am Ende des Tutorials die Ausgabe.You use it verify the output at the end of the tutorial. Data Factory erstellt den Ausgabeordner automatisch in diesem Container, damit Sie ihn nicht selbst erstellen müssen.Data Factory automatically creates the output folder in this container, so you don't need to create one.

    Fenster „Container“

Windows PowerShellWindows PowerShell

Installieren von Azure PowershellInstall Azure PowerShell

Hinweis

Dieser Artikel wurde aktualisiert und beinhaltet jetzt das neue Az-Modul von Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Sie können das AzureRM-Modul weiterhin verwenden, das bis mindestens Dezember 2020 weiterhin Fehlerbehebungen erhält.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Weitere Informationen zum neuen Az-Modul und zur Kompatibilität mit AzureRM finden Sie unter Introducing the new Azure PowerShell Az module (Einführung in das neue Az-Modul von Azure PowerShell).To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Anweisungen zur Installation des Az-Moduls finden Sie unter Install Azure PowerShell (Installieren von Azure PowerShell).For Az module installation instructions, see Install Azure PowerShell.

Installieren Sie die neueste Version von Azure PowerShell, falls sie auf Ihrem Computer noch nicht vorhanden ist.Install the latest version of Azure PowerShell if you don't already have it on your machine. Ausführliche Anweisungen finden Sie unter Installieren und Konfigurieren von Azure PowerShell.For detailed instructions, see How to install and configure Azure PowerShell.

Anmelden an PowerShellLog in to PowerShell

  1. Starten Sie PowerShell auf Ihrem Computer, und lassen Sie die Anwendung geöffnet, während Sie dieses Schnellstarttutorial durcharbeiten.Start PowerShell on your machine, and keep it open through completion of this quickstart tutorial. Wenn Sie PowerShell schließen und wieder öffnen, müssen Sie die Befehle erneut ausführen.If you close and reopen it, you'll need to run these commands again.

    Starten von PowerShell

  2. Führen Sie den folgenden Befehl aus, und geben Sie anschließend den Azure-Benutzernamen und das Kennwort ein, den bzw. das Sie bei der Anmeldung beim Azure-Portal verwendet haben:Run the following command, and then enter the Azure username and password that you use to sign in to the Azure portal:

    Connect-AzAccount
    
  3. Führen Sie den folgenden Befehl aus, um das zu verwendende Abonnement auszuwählen, wenn Sie über mehrere Azure-Abonnements verfügen.If you have multiple Azure subscriptions, run the following command to select the subscription that you want to work with. Ersetzen Sie SubscriptionId durch die ID Ihres Azure-Abonnements:Replace SubscriptionId with the ID of your Azure subscription:

    Select-AzSubscription -SubscriptionId "<SubscriptionId>"    
    

Erstellen einer Data FactoryCreate a data factory

  1. Definieren Sie eine Variable für den Ressourcengruppennamen zur späteren Verwendung in PowerShell-Befehlen.Define a variable for the resource group name that you'll use later in PowerShell commands. Kopieren Sie den folgenden Befehl nach PowerShell, geben Sie einen Namen für die Azure-Ressourcengruppe an (in doppelten Anführungszeichen, z.B. "adfrg"), und führen Sie dann den Befehl aus.Copy the following command to PowerShell, specify a name for the Azure resource group (enclosed in double quotation marks; for example, "adfrg"), and then run the command.

    $resourceGroupName = "ADFTutorialResourceGroup"
    
  2. Führen Sie den folgenden Befehl aus, um die Azure-Ressourcengruppe zu erstellen:To create the Azure resource group, run the following command:

    New-AzResourceGroup $resourceGroupName $location
    

    Beachten Sie, dass die Ressourcengruppe ggf. nicht überschrieben werden soll, falls sie bereits vorhanden ist.If the resource group already exists, you may not want to overwrite it. Weisen Sie der Variablen $resourceGroupName einen anderen Wert zu, und führen Sie den Befehl erneut aus.Assign a different value to the $resourceGroupName variable and run the command again.

  3. Definieren Sie eine Variable für den Data Factory-Namen zur späteren Verwendung in PowerShell-Befehlen.Define a variable for the data factory name that you can use in PowerShell commands later. Der Name muss mit einem Buchstaben oder einer Zahl beginnen und darf nur Buchstaben, Zahlen und Bindestriche (-) enthalten.The name must start with a letter or a number, and it can contain only letters, numbers, and the dash (-) character.

    Wichtig

    Ersetzen Sie den Data Factory-Namen durch einen global eindeutigen Namen.Update the data factory name with a globally unique name. Ein Beispiel hierfür ist ADFTutorialFactorySP1127.An example is ADFTutorialFactorySP1127.

    $dataFactoryName = "ADFTutorialFactory"
    
  4. Definieren Sie eine Variable für den Speicherort der Data Factory:Define a variable for the location of the data factory:

    $location = "East US"
    
  5. Führen Sie das folgende Set-AzDataFactoryV2-Cmdlet aus, um die Data Factory zu erstellen:To create the data factory, run the following Set-AzDataFactoryV2 cmdlet:

    Set-AzDataFactoryV2 -ResourceGroupName $resourceGroupName -Location $location -Name $dataFactoryName 
    

Hinweis

  • Der Name der Data Factory muss global eindeutig sein.The name of the data factory must be globally unique. Wenn die folgende Fehlermeldung angezeigt wird, ändern Sie den Namen, und wiederholen Sie den Vorgang.If you receive the following error, change the name and try again.
    The specified data factory name 'ADFv2TutorialDataFactory' is already in use. Data factory names must be globally unique.
    
  • Damit Sie Data Factory-Instanzen erstellen können, muss dem Benutzerkonto, mit dem Sie sich bei Azure anmelden, die Rolle Mitwirkender oder Besitzer zugewiesen sein, oder es muss ein Administrator des Azure-Abonnements sein.To create data-factory instances, the user account that you use to sign in to Azure must be assigned a contributor or owner role or must be an administrator of the Azure subscription.
  • Eine Liste der Azure-Regionen, in denen Data Factory derzeit verfügbar ist, finden Sie, indem Sie die für Sie interessanten Regionen auf der folgenden Seite auswählen und dann Analysen erweitern, um Data Factory zu finden: Verfügbare Produkte nach Region.For a list of Azure regions in which Data Factory is currently available, select the regions that interest you on the following page, and then expand Analytics to locate Data Factory: Products available by region. Die Datenspeicher (Azure Storage, Azure SQL-Datenbank usw.) und Computeeinheiten (Azure HDInsight usw.), die von der Data Factory genutzt werden, können sich in anderen Regionen befinden.The data stores (Azure Storage, Azure SQL Database, and so on) and computes (Azure HDInsight and so on) used by the data factory can be in other regions.

Erstellen einer selbstgehosteten Integration RuntimeCreate a self-hosted integration runtime

In diesem Abschnitt erstellen Sie eine selbstgehostete Integration Runtime und ordnen sie einem lokalen Computer mit der SQL Server-Datenbank zu.In this section, you create a self-hosted integration runtime and associate it with an on-premises machine with the SQL Server database. Die selbstgehostete Integration Runtime ist die Komponente, die Daten aus der SQL Server-Datenbank auf Ihrem Computer in Azure Blob Storage kopiert.The self-hosted integration runtime is the component that copies data from the SQL Server database on your machine to Azure Blob storage.

  1. Erstellen Sie eine Variable für den Namen der Integration Runtime.Create a variable for the name of integration runtime. Verwenden Sie einen eindeutigen Namen, und notieren Sie ihn.Use a unique name, and note the name. Sie benötigen ihn später in diesem Tutorial.You use it later in this tutorial.

    $integrationRuntimeName = "ADFTutorialIR"
    
  2. Erstellen Sie eine selbstgehostete Integration Runtime.Create a self-hosted integration runtime.

    Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -Name $integrationRuntimeName -Type SelfHosted -Description "selfhosted IR description"
    

    Hier ist die Beispielausgabe:Here is the sample output:

    Id                : /subscriptions/<subscription ID>/resourceGroups/ADFTutorialResourceGroup/providers/Microsoft.DataFactory/factories/onpremdf0914/integrationruntimes/myonpremirsp0914
    Type              : SelfHosted
    ResourceGroupName : ADFTutorialResourceGroup
    DataFactoryName   : onpremdf0914
    Name              : myonpremirsp0914
    Description       : selfhosted IR description
    
  3. Führen Sie den folgenden Befehl aus, um den Status der erstellten Integration Runtime abzurufen:To retrieve the status of the created integration runtime, run the following command:

    Get-AzDataFactoryV2IntegrationRuntime -name $integrationRuntimeName -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -Status
    

    Hier ist die Beispielausgabe:Here is the sample output:

    Nodes                     : {}
    CreateTime                : 9/14/2017 10:01:21 AM
    InternalChannelEncryption :
    Version                   :
    Capabilities              : {}
    ScheduledUpdateDate       :
    UpdateDelayOffset         :
    LocalTimeZoneOffset       :
    AutoUpdate                :
    ServiceUrls               : {eu.frontend.clouddatahub.net, *.servicebus.windows.net}
    ResourceGroupName         : <ResourceGroup name>
    DataFactoryName           : <DataFactory name>
    Name                      : <Integration Runtime name>
    State                     : NeedRegistration
    
  4. Führen Sie den folgenden Befehl aus, um die Authentifizierungsschlüssel abzurufen, mit denen Sie die selbstgehostete Integration Runtime beim Data Factory-Dienst in der Cloud registrieren können.To retrieve the authentication keys for registering the self-hosted integration runtime with the Data Factory service in the cloud, run the following command. Kopieren Sie einen der Schlüssel (ohne Anführungszeichen) zum Registrieren der selbstgehosteten Integration Runtime, die Sie im nächsten Schritt auf Ihrem Computer installieren.Copy one of the keys (excluding the quotation marks) for registering the self-hosted integration runtime that you install on your machine in the next step.

    Get-AzDataFactoryV2IntegrationRuntimeKey -Name $integrationRuntimeName -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName | ConvertTo-Json
    

    Hier ist die Beispielausgabe:Here is the sample output:

    {
        "AuthKey1":  "IR@0000000000-0000-0000-0000-000000000000@xy0@xy@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=",
        "AuthKey2":  "IR@0000000000-0000-0000-0000-000000000000@xy0@xy@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy="
    }
    

Installieren der Integration RuntimeInstall the integration runtime

  1. Laden Sie die Azure Data Factory Integration Runtime auf einen lokalen Windows-Computer herunter, und führen Sie anschließend die Installation aus.Download Azure Data Factory Integration Runtime on a local Windows machine, and then run the installation.

  2. Wählen Sie auf der Willkommensseite des Einrichtungsassistenten für die Microsoft Integration Runtime die Option Weiter.In the Welcome to Microsoft Integration Runtime Setup wizard, select Next.

  3. Stimmen Sie im Fenster mit dem Endbenutzer-Lizenzvertrag den Bedingungen bzw. dem Lizenzvertrag zu, und wählen Sie Weiter.In the End-User License Agreement window, accept the terms and license agreement, and select Next.

  4. Wählen Sie im Fenster Zielordner die Option Weiter.In the Destination Folder window, select Next.

  5. Wählen Sie im Fenster Ready to install Microsoft Integration Runtime (Bereit für Installation der Microsoft Integration Runtime) die Option Installieren.In the Ready to install Microsoft Integration Runtime window, select Install.

  6. Wählen Sie OK, wenn eine Warnmeldung mit dem Hinweis angezeigt wird, dass der zu konfigurierende Computer in den Energiesparmodus oder den Ruhezustand versetzt wird, falls er nicht verwendet wird.If you see a warning message about the computer being configured to enter sleep or hibernate mode when not in use, select OK.

  7. Wenn das Fenster Energieoptionen angezeigt wird, sollten Sie es schließen und zum Fenster für das Setup wechseln.If a Power Options window is displayed, close it, and switch to the setup window.

  8. Wählen Sie unter Completed the Microsoft Integration Runtime Setup Wizard (Setup-Assistent für Microsoft Integration Runtime abgeschlossen) die Option Fertig stellen.In the Completed the Microsoft Integration Runtime Setup wizard, select Finish.

  9. Fügen Sie im Fenster Integrationslaufzeit (selbstgehostet) registrieren den Schlüssel ein, den Sie im vorherigen Abschnitt gespeichert haben, und wählen Sie dann die Option Registrieren.In the Register Integration Runtime (Self-hosted) window, paste the key you saved in the previous section, and then select Register.

    Registrieren der Integration Runtime

    Wenn die selbstgehostete Integration Runtime erfolgreich registriert wurde, wird die folgende Meldung angezeigt:When the self-hosted integration runtime is registered successfully, the following message is displayed:

    Erfolgreich registriert

  10. Wählen Sie im Fenster Neuer Knoten der Integrationslaufzeit (selbstgehostet) die Option Weiter.In the New Integration Runtime (Self-hosted) Node window, select Next.

    Fenster „Neuer Knoten der Integrationslaufzeit“

  11. Wählen Sie im Fenster Intranetkommunikationskanal die Option Überspringen.In the Intranet Communication Channel window, select Skip.
    Sie können eine TLS/SSL-Zertifizierung wählen, um in einer Integration Runtime-Umgebung mit mehreren Knoten die Kommunikation zwischen Knoten zu schützen.You can select a TLS/SSL certification for securing intra-node communication in a multi-node integration runtime environment.

    Fenster „Intranetkommunikationskanal“

  12. Wählen Sie im Fenster Integrationslaufzeit (selbstgehostet) registrieren die Option Konfigurations-Manager starten.In the Register Integration Runtime (Self-hosted) window, select Launch Configuration Manager.

  13. Wenn der Knoten mit dem Clouddienst verbunden ist, wird die folgende Meldung angezeigt:When the node is connected to the cloud service, the following message is displayed:

    Knoten ist verbunden

  14. Testen Sie die Verbindung mit Ihrer SQL Server-Datenbank, indem Sie wie folgt vorgehen:Test the connectivity to your SQL Server database by doing the following:

    Registerkarte „Diagnose“

    a.a. Wechseln Sie im Fenster Konfigurations-Manager zur Registerkarte Diagnose.In the Configuration Manager window, switch to the Diagnostics tab.

    b.b. Wählen Sie im Feld Datenquellentyp die Option SqlServer.In the Data source type box, select SqlServer.

    c.c. Geben Sie den Servernamen ein.Enter the server name.

    d.d. Geben Sie den Datenbanknamen ein.Enter the database name.

    e.e. Wählen Sie den Authentifizierungsmodus aus.Select the authentication mode.

    f.f. Geben Sie den Benutzernamen ein.Enter the username.

    g.g. Geben Sie das Kennwort ein, das dem Benutzernamen zugeordnet ist.Enter the password that's associated with the username.

    h.h. Wählen Sie die Option Test, um zu überprüfen, ob die Integration Runtime eine Verbindung mit SQL Server herstellen kann.To confirm that integration runtime can connect to the SQL Server, select Test.
    Wenn die Verbindungsherstellung erfolgreich war, wird ein grünes Häkchen angezeigt.If the connection is successful, a green checkmark icon is displayed. Andernfalls wird eine Fehlermeldung angezeigt.Otherwise, you'll receive an error message associated with the failure. Beheben Sie alle Probleme, und stellen Sie sicher, dass die Integration Runtime eine Verbindung mit Ihrer SQL Server-Instanz herstellen kann.Fix any issues, and ensure that the integration runtime can connect to your SQL Server instance.

    Notieren Sie sich alle obigen Werte zur späteren Verwendung in diesem Tutorial.Note all the preceding values for later use in this tutorial.

Erstellen von verknüpften DienstenCreate linked services

Erstellen Sie verknüpfte Dienste in einer Data Factory, um Ihre Datenspeicher und Computedienste mit der Data Factory zu verknüpfen.To link your data stores and compute services to the data factory, create linked services in the data factory. In diesem Tutorial verknüpfen Sie Ihr Azure-Speicherkonto und die lokale SQL Server-Instanz mit dem Datenspeicher.In this tutorial, you link your Azure storage account and on-premises SQL Server instance to the data store. Die verknüpften Dienste enthalten die Verbindungsinformationen, die der Data Factory-Dienst zur Verbindungsherstellung zur Laufzeit verwendet.The linked services have the connection information that the Data Factory service uses at runtime to connect to them.

Erstellen eines verknüpften Azure Storage-Diensts (Ziel/Senke)Create an Azure Storage linked service (destination/sink)

In diesem Schritt verknüpfen Sie Ihr Azure-Speicherkonto mit der Data Factory.In this step, you link your Azure storage account to the data factory.

  1. Erstellen Sie im Ordner C:\ADFv2Tutorial eine JSON-Datei mit dem Namen AzureStorageLinkedService.json und folgendem Code.Create a JSON file named AzureStorageLinkedService.json in the C:\ADFv2Tutorial folder with the following code. Erstellen Sie den Ordner ADFv2Tutorial, falls er noch nicht vorhanden ist.If the ADFv2Tutorial folder does not already exist, create it.

    Wichtig

    Ersetzen Sie vor dem Speichern der Datei <accountName> und <accountKey> durch den Namen bzw. Schlüssel Ihres Azure-Speicherkontos.Before you save the file, replace <accountName> and <accountKey> with the name and key of your Azure storage account. Sie haben sich diese Angaben im Abschnitt Voraussetzungen notiert.You noted them in the Prerequisites section.

     {
         "properties": {
             "type": "AzureStorage",
             "typeProperties": {
                 "connectionString": {
                     "type": "SecureString",
                     "value": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>;EndpointSuffix=core.windows.net"
                 }
             }
         },
         "name": "AzureStorageLinkedService"
     }
    
  2. Wechseln Sie in PowerShell zum Ordner C:\ADFv2Tutorial.In PowerShell, switch to the C:\ADFv2Tutorial folder.

  3. Führen Sie das folgende Set-AzDataFactoryV2LinkedService-Cmdlet aus, um den verknüpften Dienst „AzureStorageLinkedService“ zu erstellen:To create the linked service, AzureStorageLinkedService, run the following Set-AzDataFactoryV2LinkedService cmdlet:

    Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -Name "AzureStorageLinkedService" -File ".\AzureStorageLinkedService.json"
    

    Hier ist eine Beispielausgabe:Here is a sample output:

    LinkedServiceName : AzureStorageLinkedService
    ResourceGroupName : ADFTutorialResourceGroup
    DataFactoryName   : onpremdf0914
    Properties        : Microsoft.Azure.Management.DataFactory.Models.AzureStorageLinkedService
    

    Wenn Sie einen Fehler vom Typ „Datei nicht gefunden“ erhalten, sollten Sie das Vorhandensein der Datei überprüfen, indem Sie den Befehl dir ausführen.If you receive a "file not found" error, confirm that the file exists by running the dir command. Entfernen Sie für den Dateinamen die Erweiterung .txt (z.B. „AzureStorageLinkedService.json.txt“), falls vorhanden, und führen Sie den PowerShell-Befehl dann erneut aus.If the file name has a .txt extension (for example, AzureStorageLinkedService.json.txt), remove it, and then run the PowerShell command again.

Erstellen und Verschlüsseln einen verknüpftes SQL Server-Diensts (Quelle)Create and encrypt a SQL Server linked service (source)

In diesem Schritt verknüpfen Sie die lokale SQL Server-Instanz mit der Data Factory.In this step, you link your on-premises SQL Server instance to the data factory.

  1. Erstellen Sie im Ordner C:\ADFv2Tutorial eine JSON-Datei mit dem Namen SqlServerLinkedService.json, indem Sie den folgenden Code verwenden:Create a JSON file named SqlServerLinkedService.json in the C:\ADFv2Tutorial folder by using the following code:

    Wichtig

    Wählen Sie basierend auf der Authentifizierung, die Sie zum Herstellen einer Verbindung mit SQL Server verwenden, den Abschnitt aus.Select the section that's based on the authentication that you use to connect to SQL Server.

    Verwenden der SQL-Authentifizierung (sa):Using SQL authentication (sa):

    {
        "properties": {
            "type": "SqlServer",
            "typeProperties": {
                "connectionString": {
                    "type": "SecureString",
                    "value": "Server=<servername>;Database=<databasename>;User ID=<username>;Password=<password>;Timeout=60"
                }
            },
            "connectVia": {
                "type": "integrationRuntimeReference",
                "referenceName": "<integration runtime name>"
            }
        },
        "name": "SqlServerLinkedService"
    }
    

    Verwenden der Windows-Authentifizierung:Using Windows authentication:

    {
        "properties": {
            "type": "SqlServer",
            "typeProperties": {
                "connectionString": {
                    "type": "SecureString",
                    "value": "Server=<server>;Database=<database>;Integrated Security=True"
                },
                "userName": "<user> or <domain>\\<user>",
                "password": {
                    "type": "SecureString",
                    "value": "<password>"
                }
            },
            "connectVia": {
                "type": "integrationRuntimeReference",
                "referenceName": "<integration runtime name>"
            }
        },
        "name": "SqlServerLinkedService"
    }    
    

    Wichtig

    • Wählen Sie basierend auf der Authentifizierung, die Sie zum Herstellen einer Verbindung mit Ihrer SQL Server-Instanz verwenden, den Abschnitt aus.Select the section that's based on the authentication you use to connect to your SQL Server instance.
    • Ersetzen Sie <integration runtime name> durch den Namen Ihrer Integration Runtime.Replace <integration runtime name> with the name of your integration runtime.
    • Ersetzen Sie vor dem Speichern der Datei <servername>, <databasename>, <username> und <password> durch die Werte Ihrer SQL Server-Instanz.Before you save the file, replace <servername>, <databasename>, <username>, and <password> with the values of your SQL Server instance.
    • Wenn Ihr Benutzerkonto- oder Servername einen umgekehrten Schrägstrich (\) enthält, ist es erforderlich, ein Escapezeichen (\) voranzustellen.If you need to use a backslash (\) in your user account or server name, precede it with the escape character (\). Verwenden Sie beispielsweise mydomain\\myuser.For example, use mydomain\\myuser.
  2. Führen Sie zum Verschlüsseln der sensiblen Daten (Benutzername, Kennwort usw.) das New-AzDataFactoryV2LinkedServiceEncryptedCredential-Cmdlet aus.To encrypt the sensitive data (username, password, and so on), run the New-AzDataFactoryV2LinkedServiceEncryptedCredential cmdlet.
    Mit dieser Verschlüsselung wird sichergestellt, dass die Anmeldeinformationen per DPAPI (Data Protection Application Programming Interface) verschlüsselt werden.This encryption ensures that the credentials are encrypted using Data Protection Application Programming Interface (DPAPI). Die verschlüsselten Anmeldeinformationen werden lokal auf dem selbstgehosteten Integration Runtime-Knoten (lokaler Computer) gespeichert.The encrypted credentials are stored locally on the self-hosted integration runtime node (local machine). Die Ausgabenutzlast kann an eine weitere JSON-Datei umgeleitet werden (in diesem Fall encryptedLinkedService.json), die verschlüsselte Anmeldeinformationen enthält.The output payload can be redirected to another JSON file (in this case, encryptedLinkedService.json) that contains encrypted credentials.

    New-AzDataFactoryV2LinkedServiceEncryptedCredential -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -IntegrationRuntimeName $integrationRuntimeName -File ".\SQLServerLinkedService.json" > encryptedSQLServerLinkedService.json
    
  3. Führen Sie den folgenden Befehl aus, um EncryptedSqlServerLinkedService zu erstellen:Run the following command, which creates EncryptedSqlServerLinkedService:

    Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -Name "EncryptedSqlServerLinkedService" -File ".\encryptedSqlServerLinkedService.json"
    

Erstellen von DatasetsCreate datasets

In diesem Schritt erstellen Sie Eingabe- und Ausgabedatasets.In this step, you create input and output datasets. Diese stehen für Eingabe- und Ausgabedaten für den Kopiervorgang, bei dem Daten aus der lokalen SQL Server-Datenbank nach Azure Blob Storage kopiert werden.They represent input and output data for the copy operation, which copies data from the on-premises SQL Server database to Azure Blob storage.

Erstellen eines Datasets für die SQL Server-QuelldatenbankCreate a dataset for the source SQL Server database

In diesem Schritt definieren Sie ein Dataset, das Daten in der SQL Server-Datenbankinstanz darstellt.In this step, you define a dataset that represents data in the SQL Server database instance. Das Dataset ist vom Typ „SqlServerTable“.The dataset is of type SqlServerTable. Es verweist auf den mit SQL Server verknüpften Dienst, den Sie im vorherigen Schritt erstellt haben.It refers to the SQL Server linked service that you created in the preceding step. Der verknüpfte Dienst enthält die Verbindungsinformationen, die der Data Factory-Dienst zum Herstellen einer Verbindung mit Ihrer SQL Server-Instanz zur Laufzeit verwendet.The linked service has the connection information that the Data Factory service uses to connect to your SQL Server instance at runtime. Dieses Dataset gibt die SQL-Tabelle in der Datenbank mit den Daten an.This dataset specifies the SQL table in the database that contains the data. In diesem Tutorial enthält die Tabelle emp die Quelldaten.In this tutorial, the emp table contains the source data.

  1. Erstellen Sie im Ordner C:\ADFv2Tutorial eine JSON-Datei mit dem Namen SqlServerDataset.json und folgendem Code:Create a JSON file named SqlServerDataset.json in the C:\ADFv2Tutorial folder, with the following code:

    {
       "properties": {
            "type": "SqlServerTable",
            "typeProperties": {
                "tableName": "dbo.emp"
            },
            "structure": [
                 {
                    "name": "ID",
                    "type": "String"
                },
                {
                    "name": "FirstName",
                    "type": "String"
                },
                {
                    "name": "LastName",
                    "type": "String"
                }
            ],
            "linkedServiceName": {
                "referenceName": "EncryptedSqlServerLinkedService",
                "type": "LinkedServiceReference"
            }
        },
        "name": "SqlServerDataset"
    }
    
  2. Führen Sie das Set-AzDataFactoryV2Dataset-Cmdlet aus, um das Dataset „SqlServerDataset“ zu erstellen.To create the dataset SqlServerDataset, run the Set-AzDataFactoryV2Dataset cmdlet.

    Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "SqlServerDataset" -File ".\SqlServerDataset.json"
    

    Hier ist die Beispielausgabe:Here is the sample output:

    DatasetName       : SqlServerDataset
    ResourceGroupName : ADFTutorialResourceGroup
    DataFactoryName   : onpremdf0914
    Structure         : {"name": "ID" "type": "String", "name": "FirstName" "type": "String", "name": "LastName" "type": "String"}
    Properties        : Microsoft.Azure.Management.DataFactory.Models.SqlServerTableDataset
    

Erstellen eines Datasets für Azure Blob Storage (Senke)Create a dataset for Azure Blob storage (sink)

In diesem Schritt definieren Sie ein Dataset für Daten, die in Azure Blob Storage kopiert werden sollen.In this step, you define a dataset that represents data that will be copied to Azure Blob storage. Das Dataset ist vom Typ „AzureBlob“.The dataset is of the type AzureBlob. Es verweist auf den mit Azure Storage verknüpften Dienst, den Sie weiter oben in diesem Tutorial erstellt haben.It refers to the Azure Storage linked service that you created earlier in this tutorial.

Der verknüpfte Dienst enthält die Verbindungsinformationen, die von der Data Factory zur Laufzeit zum Herstellen einer Verbindung mit Ihrem Azure-Speicherkonto verwendet werden.The linked service has the connection information that the data factory uses at runtime to connect to your Azure storage account. Dieses Dataset gibt den Ordner im Azure-Speicher an, in den die Daten aus der SQL Server-Datenbank kopiert werden.This dataset specifies the folder in the Azure storage to which the data is copied from the SQL Server database. In diesem Tutorial lautet der Ordner adftutorial/fromonprem. Hierbei ist adftutorial der Blobcontainer und fromonprem der Ordner.In this tutorial, the folder is adftutorial/fromonprem, where adftutorial is the blob container and fromonprem is the folder.

  1. Erstellen Sie im Ordner C:\ADFv2Tutorial eine JSON-Datei mit dem Namen AzureBlobDataset.json und folgendem Code:Create a JSON file named AzureBlobDataset.json in the C:\ADFv2Tutorial folder, with the following code:

    {
        "properties": {
            "type": "AzureBlob",
            "typeProperties": {
                "folderPath": "adftutorial/fromonprem",
                "format": {
                    "type": "TextFormat"
                }
            },
            "linkedServiceName": {
                "referenceName": "AzureStorageLinkedService",
                "type": "LinkedServiceReference"
            }
        },
        "name": "AzureBlobDataset"
    }
    
  2. Führen Sie das Set-AzDataFactoryV2Dataset-Cmdlet aus, um das Dataset „AzureBlobDataset“ zu erstellen.To create the dataset AzureBlobDataset, run the Set-AzDataFactoryV2Dataset cmdlet.

    Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureBlobDataset" -File ".\AzureBlobDataset.json"
    

    Hier ist die Beispielausgabe:Here is the sample output:

    DatasetName       : AzureBlobDataset
    ResourceGroupName : ADFTutorialResourceGroup
    DataFactoryName   : onpremdf0914
    Structure         :
    Properties        : Microsoft.Azure.Management.DataFactory.Models.AzureBlobDataset
    

Erstellen einer PipelineCreate a pipeline

In diesem Tutorial erstellen Sie eine Pipeline mit einer Kopieraktivität.In this tutorial, you create a pipeline with a copy activity. Die Kopieraktivität verwendet „SqlServerDataset“ als Eingabedataset und „AzureBlobDataset“ als Ausgabedataset.The copy activity uses SqlServerDataset as the input dataset and AzureBlobDataset as the output dataset. Der Quellentyp ist auf SqlSource und der Senkentyp auf BlobSink festgelegt.The source type is set to SqlSource and the sink type is set to BlobSink.

  1. Erstellen Sie im Ordner C:\ADFv2Tutorial eine JSON-Datei mit dem Namen SqlServerToBlobPipeline.json und folgendem Code:Create a JSON file named SqlServerToBlobPipeline.json in the C:\ADFv2Tutorial folder, with the following code:

    {
       "name": "SQLServerToBlobPipeline",
        "properties": {
            "activities": [       
                {
                    "type": "Copy",
                    "typeProperties": {
                        "source": {
                            "type": "SqlSource"
                        },
                        "sink": {
                            "type":"BlobSink"
                        }
                    },
                    "name": "CopySqlServerToAzureBlobActivity",
                    "inputs": [
                        {
                            "referenceName": "SqlServerDataset",
                            "type": "DatasetReference"
                        }
                    ],
                    "outputs": [
                        {
                            "referenceName": "AzureBlobDataset",
                            "type": "DatasetReference"
                        }
                    ]
                }
            ]
        }
    }
    
  2. Führen Sie das Set-AzDataFactoryV2Pipeline-Cmdlet aus, um die Pipeline „SQLServerToBlobPipeline“ zu erstellen.To create the pipeline SQLServerToBlobPipeline, run the Set-AzDataFactoryV2Pipeline cmdlet.

    Set-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "SQLServerToBlobPipeline" -File ".\SQLServerToBlobPipeline.json"
    

    Hier ist die Beispielausgabe:Here is the sample output:

    PipelineName      : SQLServerToBlobPipeline
    ResourceGroupName : ADFTutorialResourceGroup
    DataFactoryName   : onpremdf0914
    Activities        : {CopySqlServerToAzureBlobActivity}
    Parameters        :  
    

Erstellen einer PipelineausführungCreate a pipeline run

Starten Sie eine Pipelineausführung für die Pipeline „SQLServerToBlobPipeline“, und erfassen Sie die ID der Pipelineausführung für die zukünftige Überwachung.Start a pipeline run for the SQLServerToBlobPipeline pipeline, and capture the pipeline run ID for future monitoring.

$runId = Invoke-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineName 'SQLServerToBlobPipeline'

Überwachen der PipelineausführungMonitor the pipeline run

  1. Führen Sie das folgende Skript in PowerShell aus, um den Ausführungsstatus der Pipeline „SQLServerToBlobPipeline“ kontinuierlich zu überprüfen und das Endergebnis auszugeben:To continuously check the run status of pipeline SQLServerToBlobPipeline, run the following script in PowerShell, and print the final result:

    while ($True) {
        $result = Get-AzDataFactoryV2ActivityRun -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineRunId $runId -RunStartedAfter (Get-Date).AddMinutes(-30) -RunStartedBefore (Get-Date).AddMinutes(30)
    
        if (($result | Where-Object { $_.Status -eq "InProgress" } | Measure-Object).count -ne 0) {
            Write-Host "Pipeline run status: In Progress" -foregroundcolor "Yellow"
            Start-Sleep -Seconds 30
        }
        else {
            Write-Host "Pipeline 'SQLServerToBlobPipeline' run finished. Result:" -foregroundcolor "Yellow"
            $result
            break
        }
    }
    

    Hier ist die Ausgabe der Beispielausführung:Here is the output of the sample run:

    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    ActivityName      : copy
    PipelineRunId     : 4ec8980c-62f6-466f-92fa-e69b10f33640
    PipelineName      : SQLServerToBlobPipeline
    Input             :  
    Output            :  
    LinkedServiceName :
    ActivityRunStart  : 9/13/2017 1:35:22 PM
    ActivityRunEnd    : 9/13/2017 1:35:42 PM
    DurationInMs      : 20824
    Status            : Succeeded
    Error             : {errorCode, message, failureType, target}
    
  2. Sie können die Ausführungs-ID der Pipeline „SQLServerToBlobPipeline“ abrufen und das detaillierte Ergebnis der Aktivitätsausführung mit dem folgenden Befehl überprüfen:You can get the run ID of pipeline SQLServerToBlobPipeline and check the detailed activity run result by running the following command:

    Write-Host "Pipeline 'SQLServerToBlobPipeline' run result:" -foregroundcolor "Yellow"
    ($result | Where-Object {$_.ActivityName -eq "CopySqlServerToAzureBlobActivity"}).Output.ToString()
    

    Hier ist die Ausgabe der Beispielausführung:Here is the output of the sample run:

    {
      "dataRead": 36,
      "dataWritten": 24,
      "rowsCopied": 2,
      "copyDuration": 3,
      "throughput": 0.01171875,
      "errors": [],
      "effectiveIntegrationRuntime": "MyIntegrationRuntime",
      "billedDuration": 3
    }
    

Überprüfen der AusgabeVerify the output

Die Pipeline erstellt den Ausgabeordner fromonprem automatisch im Blobcontainer adftutorial.The pipeline automatically creates the output folder named fromonprem in the adftutorial blob container. Vergewissern Sie sich, dass die Datei dbo.emp.txt im Ausgabeordner enthalten ist.Confirm that you see the dbo.emp.txt file in the output folder.

  1. Wählen Sie im Azure-Portal im Fenster des Containers adftutorial die Option Aktualisieren, um den Ausgabeordner anzuzeigen.In the Azure portal, in the adftutorial container window, select Refresh to see the output folder.

    Erstellter Ausgabeordner

  2. Wählen Sie in der Liste mit den Ordnern die Option fromonprem.Select fromonprem in the list of folders.

  3. Vergewissern Sie sich, dass die Datei dbo.emp.txt angezeigt wird.Confirm that you see a file named dbo.emp.txt.

    Ausgabedatei

Nächste SchritteNext steps

Die Pipeline in diesem Beispiel kopiert Daten in Azure Blob Storage von einem Speicherort an einen anderen.The pipeline in this sample copies data from one location to another in Azure Blob storage. Es wurde Folgendes vermittelt:You learned how to:

  • Erstellen einer Data Factory.Create a data factory.
  • Erstellen Sie eine selbstgehostete Integration Runtime.Create a self-hosted integration runtime.
  • Erstellen von verknüpften SQL Server- und Azure Storage-DienstenCreate SQL Server and Azure Storage linked services.
  • Erstellen von SQL Server- und Azure Blob-DatasetsCreate SQL Server and Azure Blob datasets.
  • Erstellen einer Pipeline mit Kopieraktivität zum Verschieben der DatenCreate a pipeline with a copy activity to move the data.
  • Starten einer PipelineausführungStart a pipeline run.
  • Überwachen der Pipelineausführung.Monitor the pipeline run.

Eine Liste mit den von der Data Factory unterstützten Datenspeichern finden Sie unter Unterstützte Datenspeicher.For a list of data stores that are supported by Data Factory, see supported data stores.

Fahren Sie mit dem folgenden Tutorial fort, um mehr über das Kopieren von Daten per Massenvorgang aus einer Quelle in ein Ziel zu erfahren:To learn about copying data in bulk from a source to a destination, advance to the following tutorial: