Partager via


Aide et Astuces : génération et déploiement dans une base de données locale

SQL Server fournit une instance de serveur local à la demande, appelée SQL Server Express Local Database Runtime (LocalDB), qui est activée lorsque vous déboguez un projet de base de données SQL Server. Cette instance de serveur local peut être utilisée en tant que bac à sable pour la création, le test et le débogage de votre projet.

Elle est indépendante des instances SQL Server installées et n'est pas accessible en dehors de SQL Server Data Tools (SSDT). Cette organisation convient pour les développeurs qui ont un accès limité ou aucun accès aux bases de données de production, mais souhaiteraient tester leurs projets localement avant de les remettre au personnel autorisé qui les déploiera en production. En outre, lorsque vous développez une solution de base de données pour Azure SQL, vous pouvez utiliser les fonctionnalités fournies par ce serveur local pour développer et tester votre projet de base de données localement, avant de le déployer dans le cloud.

Limites

Une base de données sous le nœud de la base de données locale dans l'Explorateur d'objets SQL Server est une réflexion du projet de base de données correspondant et n'est pas associée à la base de données du même nom dans une instance de serveur connectée.

Avertissement

Les procédures suivantes utilisent les entités créées dans les procédures précédentes des sections Développement de base de données connectée et Développement de base de données hors connexion orienté projet.

Utilisation de la base de données locale

  1. Dans l’Explorateur d’objets SQL Server, sous le nœud SQL Server, un nouveau nœud nommé Local s’affiche. Il s'agit de l'instance de base de données locale.

  2. Développez les nœuds Local et Bases de données. Notez l'apparence d'une base de données portant le même nom que le projet TradeDev. Développez les nœuds sous cette base de données. La fenêtre Opérations des outils de données affiche l’état des opérations d’expansion/importation en cours sur une base de données dans le nœud Local. Ils ne contiennent aucune des tables et entités créées au cours des procédures précédentes.

  3. Appuyez sur F5 pour déboguer le projet de base de données TradeDev.

    Par défaut, SSDT utilise l’instance du serveur de base de données local pour déboguer les projets de base de données. Dans ce cas, SSDT tente dans un premier temps de générer le projet, et si aucune erreur n'est détectée, le projet (et ses entités) est déployé dans la base de données locale. Si vous déboguez le même projet ultérieurement, SSDT détecte les modifications apportées depuis votre dernière session de débogage, et déploie uniquement les modifications dans la base de données locale.

  4. Dans le serveur de base de données Local, redéveloppez les nœuds sous TradeDev. Cette fois, notez que les tables, les affichages et les fonctions ont été déployés sur le serveur de base de données local.

  5. Cliquez avec le bouton droit sur le nœud TradeDev et sélectionnez Nouvelle requête.

  6. Dans le volet de script, collez ce code suivant et cliquez sur le bouton Exécuter la requête pour exécuter la requête.

    SELECT * FROM dbo.GetProductsBySupplier(1);
    
  7. Le volet Message affiche indique (0 row(s) affected), et le volet Résultats ne retourne aucune ligne. En effet, vous exécutez une requête par rapport à la base de données locale au lieu d'utiliser la base de données connectée qui contient des données réelles.

    Vous pouvez confirmer en cliquant avec le bouton droit sur la table Products sous cette base de données TradeDev locale, puis sélectionnez Afficher les données. La table est vide.

Réplication de données réelles dans la base de données locale

  1. Dans l’Explorateur d’objets SQL Server, développez votre instance SQL Server connectée et recherchez la base de données TradeDev.

    Cliquez avec le bouton droit sur la table Suppliers, puis sélectionnez Afficher les données.

  2. Cliquez sur le bouton Script (le deuxième bouton en partant de la droite) dans la partie supérieure de l'Éditeur de données. Copiez les instructions INSERT du script.

  3. Développez l'instance de serveur Local et cliquez avec le bouton droit sur le nœud TradeDev, puis sélectionnez Nouvelle requête.

  4. Collez les instructions INSERT dans cette fenêtre de code et exécutez la requête.

  5. Répétez les étapes ci-dessus pour répliquer les données des tables Products et Fruits de la base de données TradeDev connectée à la base de données TradeDev locale.

  6. Cliquez avec le bouton droit sur l'instance de serveur Local et sélectionnez Actualiser. Examinez les tables à l’aide d’Afficher les données pour vérifier que la base de données locale a été remplie.

  7. Cliquez avec le bouton droit sur le nœud TradeDev de l'instance de serveur Local et sélectionnez Nouvelle requête.

  8. Dans le volet de script, collez ce code suivant et cliquez sur le bouton Exécuter la requête pour exécuter la requête.

    SELECT * FROM dbo.GetProductsBySupplier(1);
    
  9. Dans le volet Résultats sous le volet de l’Éditeur Transact-SQL, vous verrez que les lignes Apples et Potato Chips de la table Products sont retournées.