Share via


Procédure pas à pas : création et déploiement d'une nouvelle base de données sous contrôle de version

Dans cette procédure pas à pas, vous créez une base de données simple qui contient deux tables et une procédure stockée. Ce processus requiert la création d'un projet de base de données et d'objets de base de données dans ce projet, puis la génération et le déploiement de vos modifications sur un serveur de base de données. En créant un projet de base de données, vous pouvez placer votre schéma de base de données sous contrôle de version en plaçant le projet de base de données sous contrôle de version.

Cette rubrique ne vise pas à montrer comment effectuer un déploiement en environnement de production ou de préproduction. Pour effectuer un déploiement dans ces types d'environnements, vous utilisez en général l'utilitaire VSDBCMD.EXE, ou vous pouvez effectuer un déploiement manuel à l'aide du script de déploiement. Pour plus d'informations, consultez les rubriques suivantes :

Les étapes principales de cette procédure pas à pas sont les suivantes :

  • Créer un projet de base de données.

  • Créez les tables de base de données.

  • Créez les index, clés et contraintes pour ces tables.

  • Créez deux procédures stockées.

  • Configurez les propriétés du projet de base de données.

  • Générez le projet de base de données.

  • Déployez le projet de base de données.

  • Placez le projet de base de données sous contrôle de version.

Composants requis

Pour effectuer cette procédure pas à pas, vous devez vous connecter avec un compte qui dispose des autorisations permettant de créer une base de données sur un serveur de base de données exécutant SQL Server 2008.

Pour créer le projet de base de données

  1. Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Projet.

    La boîte de dialogue Nouveau projet s'affiche.

  2. Sous Modèles installés, développez le nœud Base de données, puis cliquez sur SQL Server.

    Notes

    Si vous utilisez Visual Studio Professional, regardez plutôt sous Modèles installés, développez le nœud Base de données , développez le nœud SQL Server et cliquez sur Avancé.

  3. Dans la liste des modèles, cliquez sur Projet de base de données SQL Server 2008.

  4. Dans Nom, tapez OrdersDB.

  5. Activez la case à cocher Créer le répertoire pour la solution.

  6. Acceptez les valeurs par défaut pour Emplacement, Nom de solution et Ajouter au contrôle de code source, puis cliquez sur OK.

    Notes

    Vous pouvez, à ce stade, ajouter votre solution au contrôle de version. Dans cette procédure pas à pas, vous ajoutez la solution au contrôle de version dans la dernière procédure.

    Le nouveau projet de base de données, OrdersDB, s'affiche dans l'Explorateur de solutions.

  7. Dans le menu Affichage, cliquez sur Vue Schéma de base de données.

    La vue Schéma s'affiche si elle n'était pas déjà visible.

    Ensuite, ajoutez un schéma au projet de base de données.

Pour ajouter le schéma Sales à votre projet de base de données

  1. Dans la vue Schéma, développez le nœud OrdersDB et cliquez sur le nœud Schémas.

  2. Dans le menu Projet, cliquez sur Ajouter un nouvel élément.

    La boîte de dialogue Ajouter un nouvel élément s'affiche.

    Notes

    Vous pouvez également cliquer avec le bouton droit sur le projet OrdersDB dans la vue Schéma, pointer sur Ajouter, puis cliquer sur Schéma.

  3. Dans Modèles, cliquez sur Schéma.

    Notes

    Dans la liste Catégories, vous pouvez cliquer sur Tables et vues pour rechercher plus facilement un modèle de table.

  4. Dans Nom, tapez Sales pour attribuer ce nom au nouveau schéma.

  5. Cliquez sur Ajouter pour ajouter le schéma à votre projet de base de données.

    L'Explorateur de solutions affiche le nouveau fichier pour le schéma dans votre projet de base de données. La vue Schéma affiche le nouvel objet schéma. L'éditeur Transact-SQL s'ouvre et présente la définition de votre nouveau schéma.

    Ensuite, vous ajoutez les tables au projet de base de données.

Pour ajouter la table Customer à votre projet de base de données

  1. Dans la vue Schéma, développez le nœud Sales, cliquez avec le bouton droit sur le nœud Tables, pointez sur Ajouter et cliquez sur Table.

  2. Dans Nom, tapez Customer pour attribuer ce nom à la nouvelle table.

  3. Cliquez sur Ajouter pour ajouter la table au projet de base de données.

    L'Explorateur de solutions affiche le nouveau fichier pour la table dans votre projet de base de données. La vue Schéma affiche le nouvel objet table. L'éditeur Transact-SQL s'ouvre et présente la définition de votre nouvelle table.

  4. Dans l'éditeur Transact-SQL, modifiez la définition de la table afin qu'elle corresponde à l'exemple suivant :

    CREATE TABLE [Sales].[Customer] (
        [CustomerID] INT IDENTITY (1, 1) NOT NULL,
        [CustomerName] NVARCHAR (40) NOT NULL,
        [YTDOrders] INT NOT NULL,
        [YTDSales] INT NOT NULL
    );
    
  5. Dans le menu Fichier, cliquez sur Enregistrer Sales.Customer.table.sql.

  6. Dans la vue Schéma, développez le nœud Sales.Customer.

  7. Dans la table Sales.Customer, développez le nœud Columns.

    Les quatre colonnes que vous avez définies dans Transact-SQL sont visibles.

    Ensuite, ajoutez une clé primaire à la table Customer.

Pour ajouter un index à la table Customer

  1. Dans la vue Schéma, cliquez avec le bouton droit sur Sales.Customer, pointez sur Ajouter et cliquez sur Index.

    La boîte de dialogue Ajouter un nouvel élément s'affiche.

  2. Dans Modèles, cliquez sur Index.

  3. Dans Nom, tapez IX_CustomerCustomerName pour attribuer ce nom au nouvel index.

  4. Cliquez sur Ajouter pour ajouter l'index à la table Categories.

    L'Explorateur de solutions affiche le nouveau fichier pour l'index dans votre projet de base de données. La vue Schéma affiche le nouvel objet index. L'éditeur Transact-SQL s'ouvre et présente la définition de votre nouvel index.

    Notes

    Dans la vue Schéma, l'icône associée à l'index apparaît avec un cercle rouge qui contient un « x » blanc, ce qui indique que la définition par défaut contient une erreur. Ce comportement est prévu, car la définition par défaut fait référence à la colonne « colonne_1 » qui n'existe pas.

  5. Dans l'éditeur Transact-SQL, modifiez la définition d'index afin qu'elle corresponde à l'exemple suivant :

    CREATE INDEX [IX_CustomerCustomerName]
        ON [Sales].[Customer]
    (CustomerName)
    
  6. Dans le menu Fichier, cliquez sur Enregistrer Sales.Customer.IX_CustomerCustomerName.index.sql.

    L'indicateur d'erreur disparaît de l'icône qui indique que la définition d'index est maintenant valide.

    Ensuite, ajoutez une clé primaire à la table Customer.

Pour ajouter une clé primaire à la table Customer

  1. Dans la vue Schéma, cliquez avec le bouton droit sur Sales.Customer, pointez sur Ajouter et cliquez sur Clé primaire.

    La boîte de dialogue Ajouter un nouvel élément s'affiche.

  2. Dans Modèles, cliquez sur Clé primaire.

  3. Dans Nom, tapez PK_CustomerCustomerID pour attribuer ce nom à la nouvelle clé primaire.

  4. Cliquez sur Ajouter pour ajouter la clé primaire à la table Customer.

    L'Explorateur de solutions affiche le nouveau fichier pour la clé primaire dans votre projet de base de données. La vue Schéma affiche le nouvel objet clé primaire. L'éditeur Transact-SQL s'ouvre et présente la définition de votre nouvelle clé.

    Notes

    L'icône associée à la clé primaire apparaît avec un cercle rouge qui contient un « x » blanc, ce qui indique que la définition par défaut contient une erreur. Ce comportement est prévu, car la définition par défaut fait référence à la colonne « colonne_1 » qui n'existe pas.

  5. Dans l'éditeur Transact-SQL, modifiez la définition de la clé primaire afin qu'elle corresponde à l'exemple suivant :

    ALTER TABLE [Sales].[Customer]
    ADD CONSTRAINT [PK_CustomerCustomerID]
    PRIMARY KEY (CustomerID)
    
  6. Dans le menu Fichier, cliquez sur Enregistrer Sales.Customer.PK_CustomerCustomerID.pkey.sql.

    L'indicateur d'erreur disparaît de l'icône qui indique que la définition de clé primaire est maintenant valide.

    Ensuite, ajoutez la table Orders.

Pour ajouter la table Orders

  1. Dans la vue Schéma, cliquez sur OrdersDB.

  2. Dans le menu Projet, cliquez sur Ajouter un nouvel élément.

    La boîte de dialogue Ajouter un nouvel élément s'affiche.

    Notes

    Vous pouvez également cliquer avec le bouton droit sur le projet OrdersDB dans la vue Schéma, pointer sur Ajouter, puis cliquer sur Table.

  3. Dans Modèles, cliquez sur Table.

  4. Dans Nom, tapez Orders pour attribuer ce nom à la nouvelle table.

  5. Cliquez sur Ajouter pour ajouter la table au projet de base de données.

    L'Explorateur de solutions affiche le nouveau fichier pour la table dans votre projet de base de données. La vue Schéma affiche le nouvel objet table. L'éditeur Transact-SQL s'ouvre et présente la définition de votre nouvelle table.

  6. Dans l'éditeur Transact-SQL, modifiez la définition de la table afin qu'elle corresponde à l'exemple suivant :

    CREATE TABLE [Sales].[Orders] (
        [CustomerID] INT NOT NULL,
        [OrderID] INT IDENTITY (1, 1) NOT NULL,
        [OrderDate] DATETIME NOT NULL,
        [FilledDate] DATETIME NULL,
        [Status] CHAR (1) NOT NULL,
        [Amount] INT NOT NULL
    );
    
  7. Dans le menu Fichier, cliquez sur Enregistrer Sales.Orders.table.sql.

  8. Développez le nœud Sales.Orders dans la vue Schéma.

  9. Dans la table Sales.Orders, développez le nœud Columns.

    Les colonnes que vous avez définies dans Transact-SQL apparaissent.

    Ensuite, vous ajoutez un index à la table Products.

Pour ajouter une clé primaire à la table Orders

  1. Dans la vue Schéma, cliquez avec le bouton droit sur Sales.Orders, pointez sur Ajouter et cliquez sur Clé primaire.

    La boîte de dialogue Ajouter un nouvel élément s'affiche.

  2. Dans Modèles, cliquez sur Clé primaire.

  3. Dans Nom, tapez PK_OrdersOrderID pour attribuer ce nom à la nouvelle clé primaire.

  4. Cliquez sur Ajouter pour ajouter la clé primaire à la table Orders.

    L'Explorateur de solutions affiche le fichier pour la nouvelle clé primaire dans votre projet de base de données. La vue Schéma affiche le nouvel objet clé primaire. L'éditeur Transact-SQL s'ouvre et présente la définition de votre nouvelle clé primaire.

    Notes

    L'icône associée à la clé primaire apparaît avec un cercle rouge qui contient un « x » blanc, ce qui indique que la définition par défaut contient une erreur. Ce comportement est prévu, car la définition par défaut fait référence à la colonne « colonne_1 » qui n'existe pas.

  5. Dans l'éditeur Transact-SQL, modifiez la définition de la clé primaire afin qu'elle corresponde à l'exemple suivant :

    ALTER TABLE [Sales].[Orders]
        ADD CONSTRAINT [PK_Orders_OrderID] PRIMARY KEY CLUSTERED ([OrderID] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
    
  6. Dans le menu Fichier, cliquez sur Enregistrer Sales.Orders.PK_Orders_OrderID.pkey.sql.

    L'indicateur d'erreur disparaît de l'icône qui indique que la définition de clé primaire est maintenant valide.

    Ensuite, ajoutez une clé étrangère à la table Orders.

Pour ajouter une clé étrangère entre la table Orders et la table Customer

  1. Dans la vue Schéma, cliquez avec le bouton droit sur Sales.Orders, pointez sur Ajouter et cliquez sur Clé étrangère.

    La boîte de dialogue Ajouter un nouvel élément s'affiche.

  2. Dans Modèles, cliquez sur Clé étrangère.

  3. Dans Nom, tapez FK_OrdersCustomer pour attribuer ce nom à la nouvelle clé étrangère.

  4. Cliquez sur Ajouter pour ajouter la clé étrangère à la table Orders.

    L'Explorateur de solutions affiche le fichier pour la nouvelle clé étrangère dans votre projet de base de données. La vue Schéma affiche le nouvel objet clé étrangère. L'éditeur Transact-SQL s'ouvre et présente la définition de votre nouvelle clé étrangère.

    Notes

    L'icône associée à la clé étrangère apparaît avec un cercle rouge qui contient un « x » blanc, ce qui indique que la définition par défaut contient une erreur. Ce comportement est prévu, car la définition par défaut fait référence à la colonne « colonne_1 » qui n'existe pas.

  5. Dans l'éditeur Transact-SQL, modifiez la définition de la clé étrangère afin qu'elle corresponde à l'exemple suivant :

    ALTER TABLE [Sales].[Orders]
        ADD CONSTRAINT [FK_Orders_Customer_CustID] 
        FOREIGN KEY ([CustomerID]) REFERENCES [Sales].[Customer] ([CustomerID]) 
        ON DELETE NO ACTION ON UPDATE NO ACTION;
    
  6. Dans le menu Fichier, cliquez sur Enregistrer Sales.Orders.FK_OrdersCustomer.fkey.sql.

    L'indicateur d'erreur disparaît de l'icône qui indique que la définition de clé étrangère est maintenant valide.

    Ensuite, vous ajoutez une contrainte de validation à la table Products.

Pour ajouter une contrainte de validation à la table Orders

  1. Dans la vue Schéma, cliquez sur Sales.Orders, pointez sur Ajouter et cliquez sur Contrainte de validation.

    La boîte de dialogue Ajouter un nouvel élément s'affiche.

  2. Dans Modèles, cliquez sur Contrainte de validation.

  3. Dans Nom, tapez CK_OrderStatus pour attribuer ce nom à la nouvelle contrainte de validation.

  4. Cliquez sur Ajouter pour ajouter la contrainte à la table Products.

    L'Explorateur de solutions affiche le fichier pour la nouvelle contrainte dans votre projet de base de données. La vue Schéma affiche le nouvel objet contrainte. L'éditeur Transact-SQL s'ouvre et présente la définition de votre nouvelle contrainte.

    Notes

    L'icône associée à la contrainte apparaît avec un cercle rouge qui contient un « x » blanc, ce qui indique que la définition par défaut contient une erreur. Ce comportement est prévu, car la définition par défaut fait référence à la colonne « colonne_1 » qui n'existe pas.

  5. Dans l'éditeur Transact-SQL, modifiez la définition de la contrainte afin qu'elle corresponde à l'exemple suivant :

    ALTER TABLE [Sales].[Orders]
    ADD CONSTRAINT [CK_OrderStatus] 
    CHECK  ([Status] IN ('O','X','F','B'))
    
  6. Dans le menu Fichier, cliquez sur Enregistrer Sales.Orders.CK_OrderStatus.chkconst.sql.

    L'indicateur d'erreur disparaît de l'icône qui indique que la définition de la contrainte est maintenant valide.

    Ensuite, ajoutez deux procédures stockées au projet.

Pour créer une procédure stockée qui ajoute un client

  1. Dans la vue Schéma, sous Schémas, cliquez avec le bouton droit sur Sales, pointez sur Ajouter et cliquez sur Procédure stockée.

  2. Dans Nom, tapez uspNewCustomer pour attribuer ce nom à la nouvelle procédure stockée.

  3. Cliquez sur Ajouter pour ajouter la procédure stockée à votre projet de base de données.

    L'Explorateur de solutions affiche le fichier pour la nouvelle procédure stockée dans votre projet de base de données. La vue Schéma affiche le nouvel objet procédure stockée. L'éditeur Transact-SQL s'ouvre et présente la définition de votre nouvelle procédure stockée.

  4. Dans l'éditeur Transact-SQL, modifiez la définition de la procédure stockée afin qu'elle corresponde à l'exemple suivant :

    CREATE PROCEDURE [Sales].[uspNewCustomer]
    @CustomerName NVARCHAR (40)
    AS
    BEGIN
    INSERT INTO [Sales].[Customer] (CustomerName) VALUES (@CustomerName);
    SELECT SCOPE_IDENTITY()
    END
    
  5. Dans le menu Fichier, cliquez sur Enregistrer Sales.uspNewCustomer.proc.sql.

  6. Dans la vue Schéma, développez le nœud Programmabilité, puis le nœud Procédures stockées.

    La procédure que vous avez définie dans l'éditeur Transact-SQL s'affiche.

    Ensuite, ajoutez une seconde procédure stockée permettant de passer une commande pour un client.

Pour créer une procédure stockée permettant de passer une commande pour un client

  1. Dans la vue Schéma, cliquez sur OrdersDB.

  2. Dans le menu Projet, cliquez sur Ajouter un nouvel élément.

    La boîte de dialogue Ajouter un nouvel élément s'affiche.

    Notes

    Vous pouvez également cliquer avec le bouton droit sur le projet OrdersDB dans la vue Schéma, pointer sur Ajouter, puis cliquer sur Procédure stockée.

  3. Dans Catégories, développez Projet de base de données et cliquez sur Programmabilité.

  4. Dans Modèles, cliquez sur Procédure stockée.

  5. Dans Nom, tapez uspPlaceNewOrder pour attribuer ce nom à la nouvelle procédure stockée.

  6. Cliquez sur Ajouter pour ajouter la procédure stockée à votre projet de base de données.

    L'Explorateur de solutions affiche le fichier pour la nouvelle procédure stockée dans votre projet de base de données. La vue Schéma affiche le nouvel objet procédure stockée. L'éditeur Transact-SQL s'ouvre et présente la définition de votre nouvelle procédure stockée.

  7. Dans l'éditeur Transact-SQL, modifiez la définition de la procédure stockée afin qu'elle corresponde à l'exemple suivant :

    CREATE PROCEDURE [Sales].[uspPlaceNewOrder]
    @CustomerID INT, @Amount INT, @OrderDate DATETIME, @Status CHAR (1)='O'
    AS
    BEGIN
    DECLARE @RC INT
    BEGIN TRANSACTION
    INSERT INTO [Sales].[Orders] (CustomerID, OrderDate, FilledDate, Status, Amount) 
         VALUES (@CustomerID, @OrderDate, NULL, @Status, @Amount)
    SELECT @RC = SCOPE_IDENTITY();
    UPDATE [Sales].[Customer]
       SET
       YTDOrders = YTDOrders + @Amount
        WHERE [CustomerID] = @CustomerID
    COMMIT TRANSACTION
    RETURN @RC
    END
    
  8. Dans le menu Fichier, cliquez sur Enregistrer Sales.uspPlaceNewOrder.proc.sql.

  9. Dans la vue Schéma, développez le nœud Programmabilité, puis le nœud Procédures stockées.

    La procédure que vous avez définie dans l'éditeur Transact-SQL s'affiche.

    Ensuite, vous configurez les paramètres du projet avant de le générer et de le déployer.

Pour configurer les paramètres de déploiement du projet

  1. Dans l'Explorateur de solutions, cliquez sur OrdersDB (le projet, pas la solution).

  2. Dans le menu Projet, cliquez sur Propriétés de OrdersDB.

    La fenêtre des propriétés du projet s'affiche.

    Notes

    Vous pouvez également cliquer avec le bouton droit sur OrdersDB dans l'Explorateur de solutions, puis cliquer sur Propriétés.

  3. Cliquez sur l'onglet Déployer.

  4. Dans la liste Action de déploiement, cliquez sur Créer un script de déploiement (.sql) et le déployer vers la base de données.

  5. Cliquez sur le bouton Modifier pour spécifier la connexion cible.

  6. Spécifiez les informations de connexion au serveur de base de données vers lequel vous souhaitez déployer la base de données OrdersDB.

  7. Dans Sélectionner ou entrer un nom de base de données, tapez OrdersDB et cliquez sur OK.

    Connexion cible est rempli avec la chaîne de connexion. Notez que le Nom de la base de données cible a la valeur OrdersDB.

  8. Acceptez les valeurs par défaut pour les autres options.

  9. Dans le menu Fichier, cliquez sur Enregistrer les éléments sélectionnés.

    Les paramètres de génération du projet sont enregistrés.

    Ensuite, vous générez votre projet de base de données.

Pour générer votre projet de base de données

  • Dans le menu Générer, cliquez sur Générer la solution.

    Votre projet de base de données est généré. En cas de réussite, le message La génération a réussi est visible dans la barre d'état, et les résultats de la génération sont affichés dans la fenêtre Sortie.

    Enfin, vous déployez votre projet de base de données.

Pour déployer votre projet de base de données vers votre serveur de base de données

  1. Dans l'Explorateur de solutions, cliquez sur OrdersDB (le projet, pas la solution).

  2. Dans le menu Générer, cliquez sur Déployer OrdersDB.

    Votre projet de base de données est déployé en utilisant la connexion que vous avez spécifiée dans la configuration de build. Le message « Le déploiement a réussi » s'affiche dans la fenêtre Sortie et dans la barre d'état.

Pour archiver votre projet de base de données dans le contrôle de version

  1. Dans l'Explorateur de solutions, cliquez sur OrdersDB (la solution).

  2. Dans le menu Fichier, pointez sur Contrôle de code source, puis cliquez sur Ajouter la solution au contrôle de code source.

    À ce stade, vous interagissez avec le logiciel de contrôle de version installé. Cette procédure pas à pas fournit des étapes permettant d'ajouter votre projet à Team Foundation Server. Si vous voulez utiliser un autre logiciel de contrôle de version, substituez les étapes équivalentes. Si vous utilisez Team Foundation Server, la boîte de dialogue Se connecter à Team Foundation Server s'affiche.

  3. Dans Se connecter à Team Foundation Server, cliquez sur le serveur sur lequel se trouve le projet d'équipe auquel vous voulez ajouter votre solution.

    Notes

    Si vous n'avez pas de projet d'équipe auquel vous pouvez ajouter le projet de base de données, consultez Planification et suivi de projets.

  4. Dans Projets d'équipe, cliquez sur le projet d'équipe auquel vous voulez ajouter le projet de base de données, puis cliquez sur OK.

    La boîte de dialogue Ajouter la solution OrdersDB au contrôle de code source s'affiche.

  5. Cliquez sur OK pour accepter les valeurs par défaut.

    Votre projet de base de données et les fichiers qu'il contient sont placés sous contrôle de version. Initialement, ils sont encore extraits. Vous devez les archiver pour que d'autres membres de l'équipe puissent y accéder.

  6. Dans le menu Affichage, pointez sur Autres fenêtres, puis cliquez sur Modifications en attente.

    La fenêtre Modifications en attente s'affiche.

  7. Dans le champ Commentaire, tapez Création de projet de base de données initial.

  8. Dans la fenêtre Modifications en attente, cliquez sur Archiver dans la barre d'outils.

    La boîte de dialogue Progression de l'archivage s'affiche pendant l'archivage du projet de base de données et des fichiers qu'il contient. Les icônes de l'Explorateur de solutions sont mises à jour pour montrer que les fichiers sont archivés dans le contrôle de version.

Étapes suivantes

Vous pouvez utiliser des procédures pas à pas supplémentaires pour découvrir comment utiliser des bases de données déployées existantes.

Voir aussi

Concepts

Configuration de projets de base de données et réalisation d'un déploiement de tests

Écriture et modification du code d'une base de données

Générer et déployer des bases de données dans un environnement de pré-production ou de production

Historique des modifications

Date

Historique

Motif

Juillet 2010

Désignation plus claire de la procédure pas à pas et ajout de liens vers des rubriques destinées à présenter d'autres scénarios de déploiement.

Commentaires client.