Delen via


SqlPackage voor SQL-database in Microsoft Fabric

Van toepassing op:SQL-database in Microsoft Fabric

In deze zelfstudie leert u hoe u met SqlPackage kunt werken in uw SQL-database in Fabric.

SqlPackage is een CLI die databaseportabiliteit en database-implementaties biedt.

  • De draagbaarheid (importeren/exporteren) van een database die wordt beheerd in Azure of in Fabric zorgt ervoor dat uw gegevens overdraagbaar zijn naar andere platforms, waaronder SQL Server of Azure SQL Managed Instance, als u later wilt migreren.
  • Dezelfde draagbaarheid maakt ook bepaalde migratiescenario's mogelijk via zelfstandige databasekopieën (.bacpac) met import-/exportbewerkingen.

SqlPackage kan ook eenvoudige database-implementaties van incrementele wijzigingen in databaseobjecten mogelijk maken (nieuwe kolommen in tabellen, wijzigingen in bestaande opgeslagen procedures, enzovoort).

  • SqlPackage kan een .dacpac bestand met de definities van objecten in een database extraheren en een .dacpac bestand publiceren om die objectstatus toe te passen op een nieuwe of bestaande database.
  • De publicatiebewerking kan ook worden geïntegreerd met SQL-projecten, waardoor offline en dynamischere ontwikkelingscycli voor SQL-databases mogelijk zijn.

Vereisten

Instellingen

SqlPackage is beschikbaar voor Windows, macOS en Linux als een dotnet-hulpprogramma. U kunt deze installeren met behulp van de volgende opdracht:

dotnet tool install --global Microsoft.SqlPackage

Als globaal dotnet-hulpprogramma is SqlPackage beschikbaar in uw terminal, net als sqlpackage in elke map.

Een database importeren met SqlPackage

A .bacpac is een draagbare kopie van een database, handig voor sommige migratie- en testscenario's. U kunt .bacpac in een lege SQL-database.

Notitie

Een .bacpac is geen back-up of een vervanging voor back-up-/herstelmogelijkheden. Zie Automatische back-ups in SQL-database in Microsoft Fabric en Herstellen vanuit een back-up in SQL Database in Microsoft Fabric in Microsoft Fabric voor meer informatie over back-ups in een Fabric SQL-database.

  1. Als u een .bacpac uit uw Azure SQL Database-omgeving gebruikt, moet u mogelijk de brondatabase wijzigen om te voldoen aan het T-SQL-oppervlak van de Fabric SQL-database.

  2. Maak uw nieuwe SQL-database in Fabric zoals gebruikelijk via de Fabric-interface.

  3. Kopieer de verbindingsreeks uit instellingen.

    Schermopname van de Fabric-portal met de pagina Verbindingsreeksen van de SQL-database.

  4. Gebruik de opdracht importeren vanuit terminal in de map sqlpackage. Geef uw eigenaar <servername> en <database_name>.

    sqlpackage /action:import /sourcefile:"C:\DatabaseName.bacpac" /targetconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"
    
    • Vervang uw verbindingsreeks in het dialoogvenster sql-databaseinstellingen.
    • Vervang de sourcefile waarde door de .bacpac naam (DatabaseName) en location op uw lokale computer.

Zie SqlPackage-import voor meer informatie over importeren.

Een database exporteren met SqlPackage

Het exporteren van een .bacpac is de omgekeerde bewerking, waar u targetfile een .bacpac en uw sourceconnectionstring kunt vinden in het dialoogvenster sql-databaseinstellingen, zoals in het vorige voorbeeld. Geef uw eigenaar <servername> en <database_name>. Voorbeeld:

sqlpackage.exe /action:export /targetfile:"C:\DatabaseName.bacpac" /sourceconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"

Zie SqlPackage-export voor meer informatie over exporteren.

Extraheren en publiceren

Diagram van hoe SQL-databaseprojecten schemawijzigingen kunnen verplaatsen.

Een .dacpac is een databaseschemamodelbestand met definities voor de tabellen, opgeslagen procedures en andere objecten in de brondatabase. Dit bestand kan worden gemaakt op basis van een bestaande database met SqlPackage of vanuit een SQL-databaseproject.

SqlPackage kan een .dacpac nieuwe (lege) database implementeren of een bestaande database incrementeel bijwerken zodat deze overeenkomt met de gewenste .dacpac status.

  • Extraheren maakt een .dacpac of SQL-bestanden uit een bestaande database.
  • Hiermee wordt een .dacpac implementatie naar een database geïmplementeerd.

De SqlPackage publiceren en syntaxis extraheren is vergelijkbaar met de import-/exportopdrachten.

Waarschuwing

Het gebruik van SqlPackage voor het implementeren van een SQL-project of .dacpac in SQL Database in Fabric wordt aanbevolen. Het implementeren van een .dacpac vanuit Visual Studio is mogelijk mislukt.

Als u een .dacpac wilt implementeren die is gemaakt op basis van Azure SQL Database, SQL Server of een SQL-project dat is gericht op een ander platform dan SQL Database in Fabric, voegt u de eigenschap /p:AllowIncompatiblePlatform=true toe aan de opdracht SqlPackage Publish.