Événements
31 mars, 23 h - 2 avr., 23 h
Le plus grand événement d’apprentissage SQL, Fabric et Power BI. 31 mars au 2 avril. Utilisez le code FABINSIDER pour économiser 400 $.
Inscrivez-vous aujourd’huiCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Une DAC est une unité autonome de l’ensemble du modèle de base de données et est portable dans un artefact appelé package DAC ou .dacpac. Cet article décrit plusieurs façons de décompresser le modèle de base de données à partir d’un fichier .dacpac pour Windows, macOS et Linux.
Avertissement
Nous vous recommandons de ne pas déployer un package DAC provenant de sources inconnues ou non approuvées. Ces DAC peuvent contenir du code malveillant susceptible d'exécuter un code indésirable ou de provoquer des erreurs en modifiant le schéma. Avant d’utiliser une DAC provenant d’une source inconnue ou non approuvée, déployez-la sur une instance de test isolée du moteur de base de données, décompressez la DAC et examinez le code, par exemple les procédures stockées ou autre code défini par l’utilisateur.
Les options d’examen du contenu d’un dacpac sont les suivantes :
Unpack()
à partir de l’API Microsoft.SqlServer.DacFx .NETDécompresser un package DAC immédiatement après son extraction à partir d’une base de données pour afficher les définitions d’objets est plus efficace en utilisant Extract dans SqlPackage avec la propriété /p:ExtractTarget=File
. Le résultat crée directement un fichier unique .sql
contenant les définitions d’objets de la base de données source spécifiée.
L’importation d’un fichier .dacpac dans un projet SQL dans Visual Studio entraîne la transformation du contenu de .dacpac en fichiers .sql et organisé en dossiers. Après l’importation, les scripts post-déploiement et les scripts de prédéploiement à partir de .dacpac sont visibles dans l’explorateur de solutions.
Installez SQL Server Data Tools dans le cadre de Visual Studio et créez un nouveau projet SQL.
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet vide et sélectionnez Importer, puis package d'application de la couche Données.
La décompression du fichier .dacpac entraîne la disponibilité du contenu XML brut pour l’affichage dans un éditeur de texte. Lorsque vous recherchez un composant spécifique dans .dacpac, il peut s’agir d’une méthode rapide pour accéder au contenu.
Remplacez l’extension de fichier dans le fichier .dacpac par .zip
.
Décompressez le fichier .zip à l’aide de l’utilitaire fourni par votre système d’exploitation. Pour décompresser un fichier à partir de la ligne de commande :
unzip AdventureWorks.dacpac
Le contenu obtenu inclut DacMetadata.xml
, Origin.xml
et model.xml
.
Le déploiement de .dacpac sur une instance de test entraîne la publication du contenu de .dacpac dans une base de données où les objets peuvent être parcourus à partir de différents outils de base de données connectés.
Notes
L’une des options de création d’une instance de test localement consiste à utiliser SQL Server dans Docker.
Installer et utiliser l’extension dacpac SQL Server pour Azure Data Studio.
Connectez-vous à l’instance souhaitée. Cliquez avec le bouton droit sur le nœud du serveur et sélectionnez l’Assistant Application de la couche Données dans le menu.
Sélectionnez l’option de déploiement dans l’Assistant et définissez l’option Base de données cible sur Nouvelle base de données.
Après le déploiement, accédez à la base de données sur le serveur connecté dans l’explorateur d’objets pour parcourir les objets de base de données.
Installez SqlPackage.
Utilisez l’interface CLI SqlPackage pour publier le fichier .dacpac sur l’instance souhaitée. Pour obtenir des exemples de commandes pour publier un fichier .dacpac dans une base de données, consultez les exemples de publication SqlPackage.
Au-delà d’Azure Data Studio et SqlPackage, de nombreux autres outils peuvent être utilisés pour déployer un fichier .dacpac sur une base de données. Voici quelques exemples :
L’API .NET Microsoft.SqlServer.DacFx fournit une méthode permettant de décompresser un fichier .dacpac dans un dossier, qui peut être utilisé pour décompresser par programmation un fichier .dacpac dans un dossier comme indiqué. L’exemple d’application .NET ci-dessous prend deux arguments, le chemin d’accès au fichier .dacpac et le chemin d’accès au dossier de sortie, et le résultat est le contenu du fichier .dacpac décompressé en 3 fichiers XML et un fichier .sql unique contenant tous les objets de base de données.
using Microsoft.SqlServer.Dac;
namespace DacUnpack
{
class Program
{
static void Main(string[] args)
{
var dacpacPath = args[0];
var outputPath = args[1];
if (!Directory.Exists(outputPath))
{
Directory.CreateDirectory(outputPath);
}
Console.WriteLine("Unpacking {0} to {1}", dacpacPath, outputPath);
using(DacPackage dacpac = DacPackage.Load(dacpacPath))
{
dacpac.Unpack(outputPath);
}
}
}
}
Événements
31 mars, 23 h - 2 avr., 23 h
Le plus grand événement d’apprentissage SQL, Fabric et Power BI. 31 mars au 2 avril. Utilisez le code FABINSIDER pour économiser 400 $.
Inscrivez-vous aujourd’huiEntrainement
Module
Utiliser le code source d’une application canevas - Training
Découvrez comment décompresser une application canevas à partir d’un seul fichier monolithique en de nombreux fichiers, chacun décrivant une partie individuelle de l’application.
Documentation
Déployer une application de la couche Données - SQL Server
Déployer une application de la couche Données
Extraire, publier et enregistrer des fichiers .dacpac. - SQL Server Data Tools (SSDT)
En savoir plus sur les actions que vous pouvez effectuer avec les applications de la couche Données (DAC). Il peut s’agir par exemple de l’extraction, de la publication et de l’inscription de fichiers d’instantanés (.dacpac).
Application de la couche Données (DAC) - SQL Server
Une application de la couche Données (DAC) est une entité de base de données logique qui définit tous les objets SQL Server, notamment les tables, les vues et les objets d’instance, y compris les connexions, qui sont associés à une base de données.