Compartir a través de


SqlPackage para la base de datos SQL de Microsoft Fabric

Se aplica a:Base de datos SQL de Microsoft Fabric

En este tutorial, obtendrá información sobre cómo trabajar con SqlPackage en la base de datos SQL en Fabric.

sqlPackage es una CLI que proporciona portabilidad de bases de datos e implementaciones de bases de datos.

  • La portabilidad (importación y exportación) de una base de datos administrada en Azure o en Fabric garantiza que los datos se puedan transportar a otras plataformas, incluidas SQL Server o Azure SQL Managed Instance, si desea migrarlos más adelante.
  • La misma portabilidad también permite determinados escenarios de migración a través de copias de la base de datos independiente (.bacpac) con operaciones de importación y exportación.

SqlPackage también puede permitir implementaciones de bases de datos sencillas de cambios incrementales en objetos de base de datos (nuevas columnas en tablas, modificaciones en procedimientos almacenados existentes, etc.).

  • SqlPackage puede extraer un archivo .dacpac con las definiciones de objetos de una base de datos y publicar un archivo .dacpac para aplicar el estado de ese objeto a una base de datos nueva o existente.
  • La operación de publicación también se integra con proyectos de SQL, lo que permite ciclos de desarrollo sin conexión y más dinámicos para bases de datos SQL.

Requisitos previos

Configurar

SqlPackage está disponible para Windows, macOS y Linux como herramienta dotnet. Puede instalarlo mediante el siguiente comando:

dotnet tool install --global Microsoft.SqlPackage

Como herramienta dotnet global, SqlPackage está disponible en el terminal como sqlpackage desde cualquier carpeta.

Importación de una base de datos con SqlPackage

Un .bacpac es una copia portátil de una base de datos, útil para algunos escenarios de migración y pruebas. Puede importar ese .bacpac en una base de datos SQL vacía.

Nota:

Un .bacpac no es una copia de seguridad ni un reemplazo de las funcionalidades de copia de seguridad y restauración. Para obtener más información sobre las copias de seguridad en la base de datos SQL en Fabric, consulte Copias de seguridad automáticas en la base de datos SQL de Microsoft Fabric y Restaurar a partir de una copia de seguridad en la base de datos SQL de Microsoft Fabric.

  1. Si usa un .bacpac desde el entorno de Azure SQL Database, es posible que tenga que modificar la base de datos de origen para cumplir con el área expuesta de T-SQL de la base de datos SQL de Fabric.

  2. Cree la nueva base de datos SQL en Fabric como de costumbre a través de la interfaz de Fabric.

  3. Copie la cadena de conexión desde Configuración.

    Recorte de pantalla del portal de Fabric que muestra la página Cadenas de conexión de la base de datos SQL.

  4. Use el comando import desde el terminal en la carpeta sqlpackage. Proporcione al propietario <servername> y <database_name>.

    sqlpackage /action:import /sourcefile:"C:\DatabaseName.bacpac" /targetconnectionstring:"Data Source=tcp:<server_name>.database.windows.net,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"
    
    • Reemplace la cadena de conexión del cuadro de diálogo Configuración de la base de datos SQL.
    • Reemplace el valor sourcefile por el nombre .bacpac (DatabaseName) y location en el equipo local.

Para obtener más información sobre la importación, consulte Importación de SqlPackage.

Exportación de una base de datos con SqlPackage

La exportación de un .bacpac es la operación inversa, donde su targetfile es un .bacpac y su sourceconnectionstring se puede encontrar en el cuadro de diálogo Configuración de la base de datos SQL, como en el ejemplo anterior. Proporcione al propietario <servername> y <database_name>. Por ejemplo:

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

Para obtener más información sobre la exportación, consulte Exportación de SqlPackage.

Extracción y publicación

Diagrama de cómo los proyectos de base de datos SQL pueden mover los cambios de esquema.

Un .dacpac es un archivo de modelo de esquema de la base de datos, que contiene definiciones para las tablas, procedimientos almacenados y otros objetos de la base de datos de origen.

SqlPackage es capaz de implementar un .dacpac en una base de datos nueva (vacía) o actualizar una base de datos existente de forma incremental para que coincida con el estado de .dacpac deseado.

  • La extracción crea un .dacpac o archivos SQL a partir de una base de datos existente.
  • La publicación implementa un .dacpac en una base de datos.

La sintaxis Publicación de SqlPackage es similar a los comandos import/export.