Självstudie: Distribuera och köra ett SSIS-paket (SQL Server Integration Services) i Azure

gäller för:SQL Server SSIS Integration Runtime i Azure Data Factory

Den här självstudien visar hur du distribuerar ett SSIS-projekt (SQL Server Integration Services) till SSIS-katalogen i Azure SQL Database, kör ett paket i Azure-SSIS Integration Runtime och övervakar paketet som körs.

Förutsättningar

Installera den senaste versionen av SQL Server Management Studio (SSMS).

Kontrollera också att du har konfigurerat SSISDB-databasen i Azure och etablerat Azure-SSIS Integration Runtime. Information om hur du etablerar SSIS i Azure finns i Distribuera SQL Server Integration Services-paket till Azure.

För Azure SQL Database hämtar du anslutningsinformationen

Om du vill köra paketet på Azure SQL Database hämtar du den anslutningsinformation som du behöver för att ansluta till SSIS-katalogdatabasen (SSISDB). Du behöver det fullständigt kvalificerade servernamnet och inloggningsinformationen i de procedurer som följer.

  1. Logga in på Azure-portalen.
  2. Välj SQL-databaser på den vänstra menyn och välj sedan SSISDB-databasen på sidan SQL-databaser .
  3. På sidan Översikt för databasen granskar du det fullständigt kvalificerade servernamnet. Hovra över servernamnet om du vill se alternativet Klicka för att kopiera .
  4. Om du glömmer inloggningsinformationen för Azure SQL Database-servern går du till SQL Database-serversidan för att visa serveradministratörsnamnet. Du kan återställa lösenordet om det behövs.

Ansluta till SSISDB-databasen

Använd SQL Server Management Studio för att ansluta till SSIS-katalogen på din Azure SQL Database-server. Mer information och skärmbilder finns i Ansluta till SSISDB-katalogdatabasen i Azure.

Här är de två viktigaste sakerna att komma ihåg. De här stegen beskrivs i följande procedur.

  • Ange det fullständigt kvalificerade namnet på Azure SQL Database-servern i formatet mysqldbserver.database.windows.net.
  • Välj SSISDB som databas för anslutningen.

Viktigt!

En Azure SQL Database-server lyssnar på port 1433. Om du försöker ansluta till en Azure SQL Database-server inifrån en företagsbrandvägg måste den här porten vara öppen i företagets brandvägg för att du ska kunna ansluta.

  1. Öppna SQL Server Management Studio.

  2. Anslut till servern. I dialogrutan Anslut till server anger du följande information:

    Inställning Föreslaget värde Description
    Servertyp Databas-motor Det här värdet krävs.
    Servernamn Det fullständigt kvalificerade servernamnet Namnet ska vara i det här formatet: mysqldbserver.database.windows.net. Om du behöver servernamnet kan du läsa Ansluta till SSISDB-katalogdatabasen i Azure.
    autentisering SQL Server-autentisering Du kan inte ansluta till Azure SQL Database med Windows-autentisering.
    Inloggning Serveradministratörskontot Kontot som du angav när du skapade servern.
    Lösenord Lösenordet för serveradministratörskontot Lösenordet som du angav när du skapade servern.
  3. Anslut till SSISDB-databasen. Välj Alternativ för att expandera dialogrutan Anslut till server . I dialogrutan Anslut till server väljer du fliken Anslutningsegenskaper . I fältet Anslut till databas väljer eller anger du SSISDB.

  4. Välj sedan Anslut. Fönstret Object Explorer öppnas i SSMS.

  5. I Object Explorer expanderar du Integration Services-kataloger och expanderar sedan SSISDB för att visa objekten i SSIS-katalogdatabasen.

Distribuera ett projekt med distributionsguiden

Mer information om hur du distribuerar paket och om distributionsguiden finns i distributionsguiden distribuera integrationstjänster (SSIS) och paket och distributionsguiden för integrationstjänster.

Anmärkning

Distribution till Azure stöder endast projektdistributionsmodellen.

Starta distributionsguiden för Integration Services

  1. Expandera noden Integration Services Catalogs, expandera sedan noden SSISDB i Object Explorer i SSMS, och därefter expandera en projektmapp.

  2. Välj noden Projekt .

  3. Högerklicka på noden Projekt och välj Distribuera projekt. Distributionsguiden för integrationstjänster öppnas. Du kan distribuera ett projekt från en SSIS-katalogdatabas eller från filsystemet.

    Distribuera ett projekt från SSMS

    Dialogrutan Distributionsguide för SSIS öppnas

Distribuera ett projekt med distributionsguiden

  1. På sidan Introduktion i distributionsguiden läser du introduktionen. Välj Nästa för att öppna sidan Välj källa .

  2. På sidan Välj källa väljer du det befintliga SSIS-projekt som ska distribueras.

    • Om du vill distribuera en projektdistributionsfil som du skapade väljer du Projektdistributionsfil och anger sökvägen till .ispac-filen.
    • Om du vill distribuera ett projekt som finns i en SSIS-katalog väljer du Integration Services-katalogen och anger sedan servernamnet och sökvägen till projektet i katalogen. Endast projekt som finns i SSISDB som hanteras av SQL Server kan distribueras om i det här steget.
    • Välj Nästa för att se sidan Välj mål .
  3. På sidan Välj mål väljer du målet för projektet.

    • Ange det fullständigt kvalificerade servernamnet i formatet <server_name>.database.windows.net.
    • Ange autentiseringsinformation och välj sedan Anslut.
    • Välj sedan Bläddra för att välja målmappen i SSISDB.
    • Välj sedan Nästa för att öppna Granskningssidan. (Knappen Nästa är aktiverad först när du har valt Anslut.)
  4. På sidan Granska granskar du de inställningar som du har valt.

    • Du kan ändra dina val genom att välja Föregående eller genom att välja något av stegen i den vänstra rutan.
    • Välj Distribuera för att starta distributionsprocessen.

    Anmärkning

    Om du får felmeddelandet Det finns ingen aktiv arbetsagent. (.Net SqlClient Data Provider), kontrollera att Azure-SSIS Integration Runtime körs. Det här felet uppstår om du försöker distribuera när Azure-SSIS IR är i ett stoppat tillstånd.

  5. När distributionsprocessen är klar öppnas sidan Resultat . Den här sidan visar lyckade eller misslyckade åtgärder.

    • Om åtgärden misslyckades väljer du Misslyckades i kolumnen Resultat för att visa en förklaring av felet.
    • Du kan också välja Spara rapport... för att spara resultatet i en XML-fil.
    • Välj Stäng för att avsluta guiden.

Distribuera ett projekt med PowerShell

Om du vill distribuera ett projekt med PowerShell till SSISDB i Azure SQL Database anpassar du följande skript efter dina behov. Skriptet räknar upp underordnade mappar under $ProjectFilePath och projekten i varje underordnad mapp, skapar sedan samma mappar i SSISDB och distribuerar projekten till dessa mappar.

Det här skriptet kräver SQL Server Data Tools version 17.x eller SQL Server Management Studio installerat på den dator där du kör skriptet.

# Variables
$ProjectFilePath = "C:\<folder>"
$SSISDBServerEndpoint = "<servername>.database.windows.net"
$SSISDBServerAdminUserName = "<username>"
$SSISDBServerAdminPassword = "<password>"

# Load the IntegrationServices Assembly
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Management.IntegrationServices") | Out-Null;

# Store the IntegrationServices Assembly namespace to avoid typing it every time
$ISNamespace = "Microsoft.SqlServer.Management.IntegrationServices"

Write-Host "Connecting to server ..."

# Create a connection to the server
$sqlConnectionString = "Data Source=" + $SSISDBServerEndpoint + ";User ID="+ $SSISDBServerAdminUserName +";Password="+ $SSISDBServerAdminPassword + ";Initial Catalog=SSISDB"
$sqlConnection = New-Object System.Data.SqlClient.SqlConnection $sqlConnectionString

# Create the Integration Services object
$integrationServices = New-Object $ISNamespace".IntegrationServices" $sqlConnection

# Get the catalog
$catalog = $integrationServices.Catalogs['SSISDB']

write-host "Enumerating all folders..."

$folders = ls -Path $ProjectFilePath -Directory

if ($folders.Count -gt 0)
{
    foreach ($filefolder in $folders)
    {
        Write-Host "Creating Folder " + $filefolder.Name + " ..."

        # Create a new folder
        $folder = New-Object $ISNamespace".CatalogFolder" ($catalog, $filefolder.Name, "Folder description")
        $folder.Create()

        $projects = ls -Path $filefolder.FullName -File -Filter *.ispac
        if ($projects.Count -gt 0)
        {
            foreach($projectfile in $projects)
            {
                $projectfilename = $projectfile.Name.Replace(".ispac", "")
                Write-Host "Deploying " + $projectfilename + " project ..."

                # Read the project file, and deploy it to the folder
                [byte[]] $projectFileContent = [System.IO.File]::ReadAllBytes($projectfile.FullName)
                $folder.DeployProject($projectfilename, $projectFileContent)
            }
        }
    }
}

Write-Host "All done." 

Exekvera ett paket

  1. I Object Explorer i SSMS väljer du det paket som du vill köra.

  2. Högerklicka och välj Kör för att öppna dialogrutan Kör paket .

  3. I dialogrutan Kör paket konfigurerar du paketkörningen med hjälp av inställningarna på flikarna Parametrar, Anslutningshanterare och Avancerat .

  4. Välj OK för att köra paketet.

Övervaka det paket som körs i SSMS

Om du vill visa status för pågående Integration Services-åtgärder på Integration Services-servern, till exempel distribution, validering och paketkörning, använder du dialogrutan Aktiva åtgärder i SSMS. Öppna dialogrutan Aktiva åtgärder genom att högerklicka på SSISDB och sedan välja Aktiva åtgärder.

Du kan också välja ett paket i Object Explorer, högerklicka och välja Rapporter, sedan Standardrapporter och sedan Alla körningar.

Mer information om hur du övervakar paket som körs i SSMS finns i Övervaka paket som körs och andra åtgärder.

Övervaka aktiviteten Execute SSIS Package (Kör SSIS-paket)

Om du kör ett paket som en del av en Azure Data Factory-pipeline med aktiviteten Execute SSIS Package (Kör SSIS-paket) kan du övervaka pipelinekörningarna i Data Factory-användargränssnittet. Sedan kan du hämta SSISDB-körnings-ID:t från utdata från aktivitetskörningen och använda ID:t för att kontrollera mer omfattande körningsloggar och felmeddelanden i SSMS.

Hämta paketkörnings-ID:t i Data Factory

Övervaka Azure-SSIS Integration Runtime

Om du vill få statusinformation om Azure-SSIS Integration Runtime där paket körs använder du följande PowerShell-kommandon. För vart och ett av kommandona anger du namnen på Data Factory, Azure-SSIS IR och resursgruppen.

Mer information finns i Övervaka Azure-SSIS integrationskörning.

Hämta metadata om Azure-SSIS Integration Runtime

Get-AzDataFactoryV2IntegrationRuntime -DataFactoryName $DataFactoryName -Name $AzureSsisIRName -ResourceGroupName $ResourceGroupName

Hämta status för Azure-SSIS Integration Runtime

Get-AzDataFactoryV2IntegrationRuntime -Status -DataFactoryName $DataFactoryName -Name $AzureSsisIRName -ResourceGroupName $ResourceGroupName

Nästa steg