Partager via


Procédure : mettre à niveau une application de couche Données

Utilisez l'Assistant Mise à niveau de l'application de la couche Données ou bien un script Windows PowerShell pour modifier le schéma et les propriétés d'une application de la couche Données (DAC) actuellement déployée pour qu'ils correspondent à ceux définis dans la nouvelle version de la DAC.

Mises à niveau sur place et côte à côte

Il existe deux types de mises à niveau de DAC :

  • La mise à niveau côte à côte, qui conserve une copie de la base de données existante en générant une nouvelle base de données dont le schéma est défini dans la nouvelle version de la DAC. Elle copie alors les données de l'ancienne base de données vers la nouvelle base de données.

  • La mise à niveau sur place, qui modifie le schéma de la base de données existante de façon à ce qu'il corresponde à celui défini dans la nouvelle version de la DAC.

SQL Server 2008 R2 et Microsoft Visual Studio 2010 sont inclus dans DAC Framework 1.0, qui prenait uniquement en charge les mises à niveau côte à côte. Les mises à niveau côte à côte ne prennent pas en charge SQL Azure. SQL Server 2008 R2 Service Pack 1 (SP1) et Visual Studio 2010 SP1 présentent tous les deux une nouvelle version de DAC Framework 1.1, qui introduit les mises à niveau sur place sur SQL Azure et les instances du Moteur de base de données. Pour plus d'informations sur DAC Framework 1.1, consultez Prise en charge DAC pour les objets et versions SQL Server

La version originale de l'Assistant de mise à niveau d'applications de la couche Données (DAC) utilisait DAC Framework 1.0 pour effectuer les mises à niveau côte à côte. La version de l'assistant dans SQL Server 2008 R2 SP1 effectue une mise à niveau sur place.

Les utilisateurs de SQL Server 2008 R2 peuvent effectuer une mise à niveau à la fois vers le nouvel assistant et vers DAC Framework 1.1 en installant SQL Server 2008 R2 SP1.

Préparation à la mise à niveau

Par mesure de prudence, il est recommandé d'effectuer une sauvegarde complète de la base de données avant de la mettre à niveau. Si une erreur se produit lors d'une mise à niveau et que toutes ses mises à jour ne peuvent pas être restaurées, vous aurez besoin de restaurer la sauvegarde.

Plusieurs actions peuvent être entreprises pour valider le package DAC et les actions de mise à niveau. Pour plus d'informations sur la façon de procéder à ces vérifications, consultez Procédure : valider un package DAC.

  • Nous vous recommandons de ne pas effectuer de mise à niveau en utilisant un package DAC provenant de sources inconnues ou non approuvées. Ces DAC peuvent contenir du code malveillant susceptible d'exécuter un code Transact-SQL 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écompressez la DAC et vérifiez le code, par exemple les procédures stockées ou autre code défini par l'utilisateur.

  • Si des modifications ont été apportées à la base de données actuelle après le déploiement de la DAC d'origine, certaines d'entre elles risquent d'empêcher la réussite de la mise à niveau, ou bien risquent d'être supprimées par la mise à niveau. Vous devez d'abord générer un rapport afin de passer en revue toutes les modifications apportées à la base de données.

  • Par mesure de prudence, il est recommandé de générer une liste des modifications qui seront apportées au schéma lors de la mise à niveau, et de les passer en revue à la recherche d'éventuels problèmes.

Choisir les options de mise à niveau des DAC

Il existe quatre options pour les mises à niveau sur place :

Ignorer les pertes de données : si sa valeur est True, la mise à niveau sera effectuée, même si certaines opérations mènent à une perte des données. Si sa valeur est False, ces opérations mettront fin à la mise à niveau. Par exemple, si l'une des tables de la base de données actuelle n'est pas présente dans le schéma de la nouvelle DAC, la table sera supprimée si la valeur True est spécifiée. La valeur par défaut est True.

Bloquer en cas de modifications : si la valeur est True, la mise à niveau est interrompue si le schéma de la base de données est différent de celui défini dans la DAC précédente. Si la valeur est False, la mise à niveau continue, même si des modifications sont détectées. La valeur par défaut est False.

Restauration en cas d'échec : si la valeur est True, la mise à niveau est englobée dans des transactions, et une restauration est tentée en cas d'erreurs. Si la valeur est False, toutes les modifications sont validées au fur et à mesure qu'elles sont effectuées. Par conséquent, si des erreurs se produisent, vous pourrez avoir à restaurer une sauvegarde de la base de données. La valeur par défaut est False.

Ignorer la validation de la stratégie : si la valeur est True, la stratégie de sélection du serveur de DAC n'est pas évaluée. Si la valeur est False, la stratégie est évaluée et la mise à niveau s'arrête en cas d'erreur de validation. La valeur par défaut est False.

Spécifications

Une DAC ne peut être mise à niveau que par les membres des rôles serveur fixes sysadmin ou serveradmin, ou par les connexions situées dans le rôle serveur fixe dbcreator et disposant d'autorisations ALTER ANY LOGIN. La connexion doit être propriétaire de la base de données existante. Le compte d'administrateur système SQL Server intégré nommé sa peut également lancer l'Assistant.

Le nom d'application dans le package DAC doit correspondre au nom d'application de la DAC actuellement déployée. Par exemple, si la DAC actuelle a pour nom d'application GeneralLedger, vous pouvez effectuer la mise à niveau uniquement à l'aide d'un package DAC ayant également pour nom d'application GeneralLedger.

Mots de passe de connexion

Pour améliorer la sécurité, les connexions d'authentification SQL Server sont stockées dans un package DAC sans mot de passe. Lorsque le package est déployé ou mis à niveau, la connexion est créée en tant que connexion désactivée avec un mot de passe généré. Pour activer les connexions, connectez-vous à l'aide d'une connexion qui possède l'autorisation ALTER ANY LOGIN et utilisez ALTER LOGIN pour activer la connexion et affecter un nouveau mot de passe pouvant être communiqué à l'utilisateur. Cela n'est pas nécessaire pour les connexions d'authentification Windows car leurs mots de passe ne sont pas gérés par SQL Server.

Considérations relatives à l'espace

En ce qui concerne les mises à niveau sur place, la préoccupation principale consiste à veiller à ce que l'espace des journaux de transactions soit suffisant pour enregistrer toutes les modifications.

La mise à niveau côte à côte conserve la base de données actuelle pour la DAC déployée, en plus de créer une nouvelle base de données et de copier les données existantes dans la nouvelle base de données. Vous devez disposer d'un espace disque libre suffisant pour contenir une nouvelle base de données aussi volumineuse que la base de données existante. Avant d'exécuter une mise à niveau côte à côte, assurez-vous que la quantité de données de la base de données actuelle n'est pas trop importante pour tenir dans la nouvelle base de données. La base de données créée par la mise à niveau aura les paramètres de taille par défaut provenant de l'instruction CREATE DATABASE. Les valeurs par défaut consistent en un fichier de données d'une taille initiale de 3 Mo, avec un nombre illimité d'incréments d'1 Mo, et un fichier journal d'une taille initiale d'1 Mo, avec une limite de taille maximale de 2 Go.

Options de base de données pour les mises à niveau côte à côte

Lors d'une mise à niveau côte à côte, la base de données créée pendant la phase de déploiement aura tous les paramètres par défaut de l'instruction CREATE DATABASE, sauf pour les exceptions suivantes :

  • Le classement de base de données et le niveau de compatibilité sont définis avec les valeurs définies dans le package DAC. Un package créé à partir d'un projet DAC dans Visual Studio utilise les valeurs définies dans le projet DAC. Un package extrait d'une base de données existante utilise les valeurs de la base de données d'origine.

  • Vous pouvez ajuster quelques-uns des paramètres de la base de données, tels que le nom de la base de données et les chemins d'accès aux fichiers, dans la page Mettre à jour la configuration.

Certaines options de base de données, telles que TRUSTWORTHY, DB_CHAINING et HONOR_BROKER_PRIORITY, ne peuvent pas être ajustées dans le cadre du processus de déploiement. Des propriétés physiques, telles que le nombre de groupes de fichiers ou le nombre et la taille des fichiers, ne peuvent pas être modifiées dans le cadre du processus de déploiement. Une fois le déploiement terminé, vous pouvez utiliser l'instruction ALTER DATABASE, SQL Server Management Studio ou SQL Server PowerShell pour personnaliser la base de données. Pour plus d'informations, consultez Modification d'une base de données.

Mise à niveau sur place de DAC à l'aide de PowerShell

Cet exemple utilise la méthode IncrementalUpgrade() de DAC Framework 1.1 pour effectuer la mise à niveau sur place d'une DAC. Cette méthode permet de mettre à niveau les DAC vers SQL Server ou SQL Azure. La méthode recommandée pour obtenir la nouvelle version de DAC Framework consiste à installer SQL Server 2008 R2 SP1.

Créez un fichier de script PowerShell (tel qu'IncrementalUpgradeDAC.ps1) contenant le code ci-dessous.

  1. Ajoutez du code pour créer un objet serveur SMO et le définir sur l'instance de la base de données depuis laquelle vous souhaitez extraire une DAC. Dans cet exemple, un objet serveur est défini comme l'instance par défaut sur l'ordinateur local :

    ## Set a SMO Server object to the default instance on the local computer.
    CD SQLSERVER:\SQL\localhost\DEFAULT
    $srv = get-item .
    
  2. Ajoutez du code pour ouvrir un objet ServerConnection et vous connecter à la même instance.

    ## Open a Common.ServerConnection to the same instance.
    $serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.ConnectionContext.SqlConnectionObject)
    $serverconnection.Connect()
    $dacstore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverconnection)
    
  3. Ajoutez du code pour charger le fichier du package DAC. Dans cet exemple, le fichier MyApplicationVNext.dacpac est chargé.

    ## Load the DAC package file.
    $dacpacPath = "C:\MyDACs\MyApplicationVNext.dacpac"
    $fileStream = [System.IO.File]::Open($dacpacPath,[System.IO.FileMode]::OpenOrCreate)
    $dacType = [Microsoft.SqlServer.Management.Dac.DacType]::Load($fileStream)
    
  4. Ajoutez du code pour vous inscrire aux événements de déploiement de la DAC.

    ## Subscribe to the DAC deployment events.
    $dacstore.add_DacActionStarted({Write-Host `n`nStarting at $(get-date) :: $_.Description})
    $dacstore.add_DacActionFinished({Write-Host Completed at $(get-date) :: $_.Description})
    
  5. Ajoutez du code pour spécifier la DAC à mettre à niveau ainsi que les options de mise à niveau, puis mettez à niveau la DAC et fermez le fichier du package DAC.

    ## Upgrade the DAC and create the database.
    $dacName  = "MyApplication"
    ## Set the upgrade options.
    $upgradeProperties = New-Object Microsoft.SqlServer.Management.Dac.DacUpgradeOptions
    $upgradeProperties.blockonchanges = $true
    $upgradeProperties.ignoredataloss = $false 
    $upgradeproperties.rollbackonfailure = $true
    $upgradeProperties.skippolicyvalidation = $false
    ## Do not set IgnoreDrift, replaced by BlockOnChanges.
    
    ## Upgrade the DAC and create the database.
    $dacstore.IncrementalUpgrade($dacName, $dacType, $upgradeProperties)
    
    $fileStream.Close()
    

Exécutez IncrementalUgradeDAC.ps1 depuis une session PowerShell dans laquelle vous aurez chargé les composants logiciels enfichables SQL Server PowerShell, ou bien depuis l'invite de commandes sqlps.

Mise à niveau sur place de la DAC à l'aide d'un assistant

Dans Management Studio, vous pouvez lancer l'Assistant de mise à niveau d'une application de la couche Données en ouvrant le nœud Serveur dans l'Explorateur d'objets et en sélectionnant les nœuds Gestion, puis Applications de la couche Données. Cliquez avec le bouton droit sur un nœud d'une application de la couche Données dans l'Explorateur d'objets, puis sélectionnez Mettre à niveau une application de la couche Données…

AttentionAttention

L'Assistant de mise à niveau d'une application de la couche Données (DAC) dans la version originale de SQL Server 2008 R2 effectue une mise à niveau côte à côte, ce qui n'est pas pris en charge par SQL Azure. Cette section décrit l'utilisation de la nouvelle version de l'Assistant dans SQL Server 2008 R2 SP1, qui effectue une mise à niveau sur place.

Cliquez sur un lien dans la liste ci-dessous pour accéder aux détails d'une page dans l'Assistant :

  • Page Introduction

  • Page Sélectionner un package

  • Page Vérifier la stratégie

  • Page Détecter les modifications

  • Réviser le plan de mise à niveau

  • Page Résumé

  • Page Mettre à niveau la DAC

Page Introduction

Cette page décrit les étapes de mise à niveau d'une application de la couche Données.

Ne plus afficher cette page. - Activez la case à cocher pour ne plus afficher la page à l'avenir.

Suivant >- Passe à la page Sélectionner un package.

Annuler - Met fin à l'Assistant sans mettre à niveau la DAC.

Page Sélectionner un package

Utilisez cette page pour spécifier le package DAC qui contient la nouvelle version de l'application de la couche Données. La page passe par deux états.

Sélectionner le package DAC

Utilisez l'état initial de la page pour choisir le package DAC à déployer. Le package de la DAC doit être un fichier de package DAC valide et doit avoir une extension .dacpac. Le nom d'application de la DAC dans le package DAC doit être le même que le nom d'application de la DAC actuelle.

Package DAC - Spécifie le chemin d'accès et le nom de fichier du package DAC qui contient la nouvelle version de l'application de couche Données. Vous pouvez sélectionner le bouton Parcourir à droite de la zone pour accéder à l'emplacement du package DAC.

Nom de l'application - Zone en lecture seule qui affiche le nom d'application de la DAC, attribué lors de la création de la DAC ou de son extraction à partir d'une base de données.

Version - Zone en lecture seule qui affiche la version affectée lors de la création de la DAC ou de son extraction à partir d'une base de données.

Description - Zone en lecture seule qui affiche la description écrite lors de la création de la DAC ou de son extraction à partir d'une base de données.

< Précédent - Retourne à la page Introduction.

Suivant >- Affiche une barre de progression quand l'Assistant confirme que le fichier sélectionné est un package DAC valide.

Annuler - Met fin à l'Assistant sans mettre à niveau la DAC.

Validation du package DAC

Affiche une barre de progression quand l'Assistant confirme que le fichier sélectionné est un package DAC valide. Si le package DAC est validé, l'Assistant passe à la page Vérifier la stratégie. Si le fichier n'est pas un package DAC valide, l'Assistant reste sur Sélectionner un package DAC. Sélectionnez un autre package DAC valide ou annulez l'Assistant et générez un nouveau package DAC.

Validation du contenu de la DAC - Barre de progression qui indique l'état actuel de la validation.

< Précédent - Retourne à l'état initial de la page Sélectionner un package.

Suivant >- Passe à la dernière version de la page Sélectionner un package.

Annuler - Met fin à l'Assistant sans déployer la DAC.

Page Vérifier la stratégie

Utilisez cette page pour vérifier les résultats de l'évaluation de la stratégie de sélection du serveur de la DAC, si la DAC a une stratégie. La stratégie de sélection du serveur de la DAC est facultative et est affectée à une DAC créée dans Microsoft Visual Studio. La stratégie utilise les facettes de la stratégie de sélection du serveur pour spécifier les conditions que doit remplir une instance du Moteur de base de données pour héberger la DAC.

Résultats de l'évaluation des conditions de stratégie - Rapport en lecture seule indiquant si les évaluations des conditions de la stratégie de sélection du serveur de la DAC sont concluantes. Les résultats de l'évaluation de chaque condition sont indiqués sur des lignes distinctes.

Ignorez les violations de stratégie - Utilisez cette case à cocher pour poursuivre la mise à niveau en cas d'échec d'une ou plusieurs conditions de la stratégie. Ne sélectionnez cette option que si vous êtes sûr que toutes les conditions qui ont échoué n'empêcheront pas l'opération de la DAC de réussir.

< Précédent - Retourne à la page Sélectionner un package.

Suivant > - Passe à la page Détecter les modifications.

Annuler - Met fin à l'Assistant sans mettre à niveau la DAC.

Page Détecter les modifications

Cette page indique les résultats de recherche des Assistants portant sur les modifications effectuées dans la base de données qui font différer le schéma de sa définition enregistrée dans les métadonnées de la DAC, dans msdb. Par exemple, si les instructions CREATE, ALTER ou DROP ont été utilisées pour ajouter, modifier ou supprimer des objets de la base de données, après le déploiement d'origine de la DAC. La page affiche d'abord une barre de progression, puis signale les résultats de l'analyse.

Détection des modifications. Cette opération peut prendre quelques minutes. - Affiche une barre de progression pendant que l'Assistant recherche des différences entre le schéma actuel de la base de données et les objets dans la définition de la DAC.

Résultats de la détection des modifications : - Indique que l'analyse est terminée et affiche les résultats au-dessous.

La base de données DatabaseName n'a pas changé - L'Assistant n'a pas détecté de différences entre les objets définis dans la base de données et leurs équivalents dans la définition de la DAC.

La base de données DatabaseName a changé - L'Assistant a détecté des modifications entre les objets dans la base de données et leurs équivalents dans la définition de la DAC.

Poursuivre malgré la perte possible des modifications - Indique que vous êtes conscient que certains objets ou données dans la base de données actuelle ne seront pas présents dans la nouvelle base de données, et que vous souhaitez poursuivre la mise à niveau. Vous ne devez sélectionner ce bouton que si vous avez analysé le rapport des modifications et si vous connaissez la procédure à effectuer pour transférer manuellement tous les objets ou données nécessaires dans la nouvelle base de données. Si vous n'en êtes pas sûr, cliquez sur le bouton Enregistrer le rapport pour enregistrer le rapport des modifications, puis sur Annuler. Analysez le rapport, organisez le transfert de tous les objets et données nécessaires une fois la mise à niveau terminée, puis redémarrez l'Assistant. Pour plus d'informations, consultez Mise à niveau des applications de la couche Données.

Enregistrer le rapport - Cliquez sur ce bouton pour enregistrer un rapport des modifications détectées par l'Assistant entre les objets de la base de données et leurs équivalents dans la définition de la DAC. Vous pouvez ensuite vérifier le rapport pour déterminer si vous devez prendre des mesures, une fois la mise à niveau terminée, pour incorporer dans la nouvelle base de données tout ou partie des objets répertoriés dans le rapport.

< Précédent - Retourne à la page Sélectionner le package DAC.

Suivant >- Passe à la page Réviser le plan de mise à niveau.

Annuler - Met fin à l'Assistant sans déployer la DAC.

Page Réviser le plan de mise à niveau

Utilisez cette page pour vérifier les actions qui seront prises par le processus de mise à niveau. Ne poursuivez l'opération que si vous êtes sûr que la mise à niveau s'effectuera sans créer de problèmes.

Les actions suivantes permettront de mettre à niveau la DAC. - Vérifiez les informations affichées pour vous assurer que les actions prises seront correctes. La colonne Action affiche les actions, telles que les instructions Transact-SQL, qui seront exécutées pour effectuer la mise à niveau. La colonne Perte de données contiendra un avertissement si l'action associée risque de supprimer des données.

Actualiser – Actualise la liste des actions.

Enregistrer le rapport d'action - Enregistre le contenu de la fenêtre d'action dans un fichier HTML.

Poursuivre malgré la perte possible des modifications - Indique que vous êtes conscient que certains objets ou données dans la base de données actuelle ne seront pas présents dans la nouvelle base de données, et que vous souhaitez poursuivre la mise à niveau. Vous ne devez sélectionner ce bouton que si vous avez analysé le rapport des modifications et si vous connaissez la procédure à effectuer pour transférer manuellement tous les objets ou données nécessaires dans la nouvelle base de données. Si vous n'en êtes pas sûr, cliquez sur le bouton Enregistrer le rapport d'action pour enregistrer le rapport des modifications et sur le bouton Enregistrer les scripts pour enregistrer le script Transact-SQL, puis cliquez sur Annuler. Analysez le rapport et le script, organisez le transfert de tous les objets et données nécessaires une fois la mise à niveau terminée, puis redémarrez l'Assistant. Pour plus d'informations, consultez Mise à niveau des applications de la couche Données.

Enregistrer les scripts – Enregistre les instructions Transact-SQL qui permettront d'effectuer la mise à niveau dans un fichier texte.

Paramètres par défaut - Rétablit le paramètre par défaut de l'option sur la valeur False.

< Précédent - Retourne à la page Détecter les modifications.

Suivant >- Passe à la page Résumé.

Annuler - Met fin à l'Assistant sans déployer la DAC.

Page Résumé

Utilisez cette page pour vérifier les mesures que l'Assistant prendra lors de la mise à niveau de la DAC.

Les paramètres suivants seront utilisés pour mettre à niveau votre DAC. - Vérifiez les informations affichées pour vous assurer que les actions prises seront correctes. La fenêtre affiche la DAC que vous avez sélectionnée pour être mise à niveau, et le package DAC qui contient la nouvelle version de la DAC. La fenêtre affiche également si la version actuelle de la base de données est identique à la définition de la DAC actuelle, ou si la base de données a été modifiée.

< Précédent - Vous renvoie à la page Détecter les modifications.

Suivant >- Déploie la DAC et affiche les résultats dans la page Mettre à niveau la DAC.

Annuler - Met fin à l'Assistant sans déployer la DAC.

Page Mettre à niveau la DAC

Cette page signale la réussite ou l'échec de l'opération de mise à niveau.

Mise à niveau de la DAC - Signale la réussite ou l'échec de chaque action prise pour mettre à niveau la DAC. Examinez les informations pour déterminer la réussite ou l'échec de chaque action. Toute action pour laquelle une erreur s'est produite aura un lien dans la colonne Résultat. Sélectionnez le lien pour consulter un rapport de l'erreur pour cette action.

Enregistrer le rapport - Sélectionnez ce bouton pour enregistrer le rapport de mise à niveau dans un fichier HTML. Le fichier signale l'état de chaque action, notamment toutes les erreurs générées par chacune des actions. Le dossier par défaut est un dossier SQL Server Management Studio\DAC Packages du dossier Documents de votre compte Windows.

Terminer - Termine l'Assistant.

Mise à niveau côte à côte d'une DAC à l'aide de PowerShell

Cet exemple utilise la méthode Upgrade() de DAC Framework 1.0 pour effectuer la mise à niveau côte à côte d'une DAC. La méthode Upgrade() sera supprimée de la prochaine version de SQL Server et ne prendra plus en charge SQL Azure. La méthode recommandée consiste à utiliser la méthode IncrementalUpgrade() de DAC Framework 1.1 (mentionnée plus haut) pour effectuer la mise à niveau sur place d'une DAC.

Il existe deux options pour les mises à niveau côte à côte :

  • Ignorer la dérive (IngoreDrift) : si la valeur est True, la mise à niveau continue, même si des modifications sont détectées. Si la valeur est False, la mise à niveau est interrompue si le schéma de la base de données est différent de celui défini dans la DAC précédente.

  • Invoquer la stratégie TS (InvokeTSPolicy) : si la valeur est True, la stratégie de sélection du serveur DAC est évaluée et la mise à niveau s'arrête en cas d'erreur de validation. Si la valeur est False, la stratégie n'est pas évaluée.

Pour effectuer une mise à niveau sur place, créez un fichier de script PowerShell (tel que UpgradeDAC.ps1) contenant le code ci-dessous.

  1. Ajoutez du code pour créer un objet serveur SMO et le définir sur l'instance de la base de données depuis laquelle vous souhaitez extraire une DAC. Dans cet exemple, un objet serveur est défini comme l'instance par défaut sur l'ordinateur local :

    ## Set a SMO Server object to the default instance on the local computer.
    CD SQLSERVER:\SQL\localhost\DEFAULT
    $srv = get-item .
    
  2. Ajoutez du code pour ouvrir un objet ServerConnection et vous connecter à la même instance.

    ## Open a Common.ServerConnection to the same instance.
    $serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.ConnectionContext.SqlConnectionObject)
    $serverconnection.Connect()
    $dacstore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverconnection)
    
  3. Ajoutez du code pour charger le fichier du package DAC. Dans cet exemple, le fichier MyApplicationVNext.dacpac est chargé.

    ## Load the DAC package file.
    $dacpacPath = "C:\MyDACs\MyApplicationVNext.dacpac"
    $fileStream = [System.IO.File]::Open($dacpacPath,[System.IO.FileMode]::OpenOrCreate)
    $dacType = [Microsoft.SqlServer.Management.Dac.DacType]::Load($fileStream)
    
  4. Ajoutez du code pour vous inscrire aux événements de déploiement de la DAC.

    ## Subscribe to the DAC deployment events.
    $dacstore.add_DacActionStarted({Write-Host `n`nStarting at $(get-date) :: $_.Description})
    $dacstore.add_DacActionFinished({Write-Host Completed at $(get-date) :: $_.Description})
    
  5. Ajoutez du code pour mettre à niveau la DAC, créer la base de données et fermer le fichier du package DAC :

    ## Upgrade the DAC and create the database.
    $dacName  = "MyApplication"
    $evaluateTSPolicy = $true
    $ignoreDriftOption = $true
    $upgradeProperties = New-Object Microsoft.SqlServer.Management.Dac.DacUpgradeOptions($evaluateTSPolicy, $ignoreDriftOption)
    $dacstore.Upgrade($dacName, $dacType, $upgradeProperties)
    $fileStream.Close()
    

Exécutez UgradeDAC.ps1 depuis une session PowerShell dans laquelle vous aurez chargé les composants logiciels enfichables SQL Server PowerShell, ou bien depuis l'invite de commandes sqlps.

Historique des modifications

Mise à jour du contenu

Ajout de la section sur l'utilisation de PowerShell.

Ajout d'informations au sujet des mises à niveau sur place et de DAC Framework 1.1 Feature Pack.

SQL Server 2008 R2 SP1 comprend DAC Framework 1.1 et un nouvel Assistant de mise à niveau qui effectue des mises à niveau sur place.