Partager via


Procédure pas à pas : création et exécution d'un plan de génération de données

Dans cette procédure pas à pas, vous créez un plan de génération de données et l'exécutez pour remplir une base de données de test avec des données générées de façon aléatoire. En premier lieu, vous créez un projet de base de données et le déployez vers une base de données de test isolée. Vous pouvez utiliser la base de données isolée pour tester la génération des données sans toucher aux données de production ni à la base de données.

Composants requis

Pour effectuer cette procédure pas à pas, les produits suivants doivent être installés :

  • Visual Studio Premium

  • SQL Server 2008 ou SQL Server 2005 

Création du projet de base de données

En premier lieu, créez un projet de base de données et importez le schéma depuis un script.

Notes

Dans un environnement de travail en équipe, vous pouvez extraire un projet existant du contrôle de version pour utiliser un projet de base de données. Pour plus d'informations, consultez Démarrage du développement de bases de données en équipe.

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

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

    La boîte de dialogue Nouveau fichier s'ouvre.

  2. Dans la liste Catégories, cliquez sur la catégorie Général si elle n'est pas déjà sélectionnée.

  3. Dans la liste Modèles, cliquez sur Fichier Sql, puis sur Ouvrir.

    L'éditeur Transact-SQL s'ouvre.

  4. Copiez le code Transact-SQL suivant et collez-le dans l'éditeur Transact-SQL.

    PRINT N'Creating dbo.Customer...';
    GO
    CREATE TABLE [dbo].[Customer] (
        [CustomerId] UNIQUEIDENTIFIER NOT NULL,
        [UserId]     UNIQUEIDENTIFIER NOT NULL,
        [UserName]   VARCHAR (256)    NOT NULL
    );
    GO
    PRINT N'Creating dbo.Menu...';
    GO
    CREATE TABLE [dbo].[Menu] (
        [MenuId]       UNIQUEIDENTIFIER NOT NULL,
        [RestaurantId] UNIQUEIDENTIFIER NOT NULL,
        [StartDate]    DATETIME         NOT NULL,
        [EndDate]      DATETIME         NOT NULL,
        [MenuType]     VARCHAR (50)     NULL
    );
    GO
    PRINT N'Creating dbo.MenuItem...';
    GO
    CREATE TABLE [dbo].[MenuItem] (
        [MenuItemId]      UNIQUEIDENTIFIER NOT NULL,
        [MenuId]          UNIQUEIDENTIFIER NOT NULL,
        [Name]            VARCHAR (128)    NULL,
        [Description]     VARCHAR (512)    NULL,
        [ImageLocation]   VARCHAR (MAX)    NULL,
        [Price]           MONEY            NULL,
        [PreparationTime] INT              NULL
    );
    GO
    PRINT N'Creating dbo.Order...';
    GO
    CREATE TABLE [dbo].[Order] (
        [OrderId]          UNIQUEIDENTIFIER NOT NULL,
        [SubmittedDate]    SMALLDATETIME    NOT NULL,
        [CustomerID]       UNIQUEIDENTIFIER NOT NULL,
        [Total]            MONEY            NOT NULL,
        [ContactTelephone] CHAR (20)        NULL,
        [PostalCode]       CHAR (10)        NULL,
        [State]            CHAR (2)         NULL,
        [StreetAddress]    VARCHAR (75)     NULL,
        [City]             VARCHAR (25)     NULL
    );
    GO
    PRINT N'Creating dbo.OrderDetail...';
    GO
    CREATE TABLE [dbo].[OrderDetail] (
        [OrderDetailId]     UNIQUEIDENTIFIER NOT NULL,
        [OrderId]           UNIQUEIDENTIFIER NOT NULL,
        [RestaurantId]      UNIQUEIDENTIFIER NOT NULL,
        [MenuItemId]        UNIQUEIDENTIFIER NOT NULL,
        [DeliveryId]        UNIQUEIDENTIFIER NOT NULL,
        [Quantity]          INT              NOT NULL,
        [UnitCost]          MONEY            NOT NULL,
        [Status]            NCHAR (20)       NOT NULL,
        [StatusUpdatedTime] SMALLDATETIME    NOT NULL,
        [WorkflowId]        UNIQUEIDENTIFIER NOT NULL,
        [ETA]               SMALLDATETIME    NULL
    );
    GO
    PRINT N'Creating dbo.OrderPayment...';
    GO
    CREATE TABLE [dbo].[OrderPayment] (
        [PaymentID]        UNIQUEIDENTIFIER NOT NULL,
        [OrderID]          UNIQUEIDENTIFIER NOT NULL,
        [CreditCardNumber] CHAR (4)         NULL,
        [NameOnCard]       VARCHAR (75)     NULL,
        [Address]          VARCHAR (50)     NULL,
        [Country]          VARCHAR (50)     NULL,
        [City]             VARCHAR (50)     NULL,
        [State]            VARCHAR (50)     NULL,
        [PostalCode]       CHAR (10)        NULL,
        [ExpirationDate]   SMALLDATETIME    NULL,
        [CreditCardType]   VARCHAR (50)     NULL
    );
    GO
    PRINT N'Creating dbo.Restaurant...';
    GO
    CREATE TABLE [dbo].[Restaurant] (
        [RestaurantId]           UNIQUEIDENTIFIER NOT NULL,
        [Name]                   VARCHAR (256)    NULL,
        [Description]            VARCHAR (1024)   NULL,
        [RestaurantCategoryId]   UNIQUEIDENTIFIER NOT NULL,
        [LogoImageLocation]      NVARCHAR (MAX)   NULL,
        [SmallLogoImageLocation] NVARCHAR (MAX)   NULL,
        [BannerImageLocation]    NVARCHAR (MAX)   NULL,
        [MainImageLocation]      NVARCHAR (MAX)   NULL,
        [BackgroundLocation]     NVARCHAR (MAX)   NULL,
        [PostalCode]             VARCHAR (128)    NOT NULL,
        [StreetAddress]          VARCHAR (256)    NULL,
        [City]                   VARCHAR (512)    NULL,
        [State]                  VARCHAR (256)    NULL
    );
    GO
    PRINT N'Creating dbo.RestaurantCategory...';
    GO
    CREATE TABLE [dbo].[RestaurantCategory] (
        [RestaurantCategoryId] UNIQUEIDENTIFIER NOT NULL,
        [Description]          VARCHAR (255)    NOT NULL
    );
    GO
    PRINT N'Creating dbo.Default_Menu_StartDate...';
    GO
    ALTER TABLE [dbo].[Menu]
        ADD CONSTRAINT [Default_Menu_StartDate] DEFAULT GETDATE() FOR [StartDate];
    GO
    PRINT N'Creating dbo.PK_Customer...';
    GO
    ALTER TABLE [dbo].[Customer]
        ADD CONSTRAINT [PK_Customer] PRIMARY KEY CLUSTERED ([CustomerId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
    GO
    PRINT N'Creating dbo.PK_Menu...';
    GO
    ALTER TABLE [dbo].[Menu]
        ADD CONSTRAINT [PK_Menu] PRIMARY KEY CLUSTERED ([MenuId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
    GO
    PRINT N'Creating dbo.PK_MenuItem...';
    GO
    ALTER TABLE [dbo].[MenuItem]
        ADD CONSTRAINT [PK_MenuItem] PRIMARY KEY CLUSTERED ([MenuItemId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
    GO
    PRINT N'Creating dbo.PK_Order2...';
    GO
    ALTER TABLE [dbo].[Order]
       ADD CONSTRAINT [PK_Order2] PRIMARY KEY CLUSTERED ([OrderId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
    GO
    PRINT N'Creating dbo.PK_OrderDetail...';
    GO
    ALTER TABLE [dbo].[OrderDetail]
        ADD CONSTRAINT [PK_OrderDetail] PRIMARY KEY CLUSTERED ([OrderDetailId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
    GO
    PRINT N'Creating dbo.PK_OrderPayment...';
    GO
    ALTER TABLE [dbo].[OrderPayment]
        ADD CONSTRAINT [PK_OrderPayment] PRIMARY KEY CLUSTERED ([PaymentID] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
    GO
    PRINT N'Creating dbo.PK_Restaurant...';
    GO
    ALTER TABLE [dbo].[Restaurant]
        ADD CONSTRAINT [PK_Restaurant] PRIMARY KEY CLUSTERED ([RestaurantId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
    GO
    PRINT N'Creating dbo.PK_RestaurantCategory...';
    GO
    ALTER TABLE [dbo].[RestaurantCategory]
        ADD CONSTRAINT [PK_RestaurantCategory] PRIMARY KEY CLUSTERED ([RestaurantCategoryId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
    GO
    PRINT N'Creating dbo.FK_Menu_Restaurant...';
    GO
    ALTER TABLE [dbo].[Menu]
        ADD CONSTRAINT [FK_Menu_Restaurant] FOREIGN KEY ([RestaurantId]) REFERENCES [dbo].[Restaurant] ([RestaurantId]) ON DELETE NO ACTION ON UPDATE NO ACTION;
    GO
    PRINT N'Creating dbo.FK_MenuItem_Menu...';
    GO
    ALTER TABLE [dbo].[MenuItem]
        ADD CONSTRAINT [FK_MenuItem_Menu] FOREIGN KEY ([MenuId]) REFERENCES [dbo].[Menu] ([MenuId]) ON DELETE NO ACTION ON UPDATE NO ACTION;
    GO
    PRINT N'Creating dbo.FK_Order2_Customer...';
    GO
    ALTER TABLE [dbo].[Order]
        ADD CONSTRAINT [FK_Order2_Customer] FOREIGN KEY ([CustomerID]) REFERENCES [dbo].[Customer] ([CustomerId]) ON DELETE NO ACTION ON UPDATE NO ACTION;
    GO
    PRINT N'Creating dbo.FK_OrderDetail_MenuItem...';
    GO
    ALTER TABLE [dbo].[OrderDetail]
        ADD CONSTRAINT [FK_OrderDetail_MenuItem] FOREIGN KEY ([MenuItemId]) REFERENCES [dbo].[MenuItem] ([MenuItemId]) ON DELETE NO ACTION ON UPDATE NO ACTION;
    GO
    PRINT N'Creating dbo.FK_OrderDetail_Order2...';
    GO
    ALTER TABLE [dbo].[OrderDetail]
        ADD CONSTRAINT [FK_OrderDetail_Order2] FOREIGN KEY ([OrderId]) REFERENCES [dbo].[Order] ([OrderId]) ON DELETE CASCADE ON UPDATE CASCADE;
    GO
    PRINT N'Creating dbo.FK_OrderDetail_Restaurant...';
    GO
    ALTER TABLE [dbo].[OrderDetail]
        ADD CONSTRAINT [FK_OrderDetail_Restaurant] FOREIGN KEY ([RestaurantId]) REFERENCES [dbo].[Restaurant] ([RestaurantId]) ON DELETE NO ACTION ON UPDATE CASCADE;
    GO
    PRINT N'Creating dbo.FK_OrderPayment_Order...';
    GO
    ALTER TABLE [dbo].[OrderPayment]
        ADD CONSTRAINT [FK_OrderPayment_Order] FOREIGN KEY ([OrderID]) REFERENCES [dbo].[Order] ([OrderId]) ON DELETE CASCADE ON UPDATE CASCADE;
    GO
    PRINT N'Creating dbo.FK_Restaurant_RestaurantCategory...';
    GO
    ALTER TABLE [dbo].[Restaurant]
        ADD CONSTRAINT [FK_Restaurant_RestaurantCategory] FOREIGN KEY ([RestaurantCategoryId]) REFERENCES [dbo].[RestaurantCategory] ([RestaurantCategoryId]) ON DELETE NO ACTION ON UPDATE NO ACTION;
    GO
    PRINT N'Creating dbo.CK_Menu_EndDate...';
    GO
    ALTER TABLE [dbo].[Menu]
        ADD CONSTRAINT [CK_Menu_EndDate] CHECK (([EndDate] > '01/01/2000') AND ([EndDate] >= [StartDate]));
    GO
    PRINT N'Creating dbo.CK_Menu_StartDate...';
    GO
    ALTER TABLE [dbo].[Menu]
        ADD CONSTRAINT [CK_Menu_StartDate] CHECK ([StartDate] > '01/01/2000');
    GO
    PRINT N'Creating AutoCreatedLocal...';
    GO
    CREATE ROUTE [AutoCreatedLocal]
        AUTHORIZATION [dbo]
        WITH ADDRESS = N'LOCAL';
    GO
    PRINT N'Creating dbo.Menu.EndDate.ExtProp_Menu_EndDate_Description...';
    GO
    EXECUTE sp_addextendedproperty @name = N'ExtProp_Menu_EndDate_Description', @value = 'Date the menu expired. Must be > 01/01/2000 and must be after the StartDate', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Menu', @level2type = N'COLUMN', @level2name = N'EndDate';
    GO
    
  5. Dans le menu Fichier, cliquez sur Enregistrer SqlQuery_1.sql sous.

    La boîte de dialogue Enregistrer le fichier sous s'ouvre.

  6. Dans Nom de l'objet, tapez SampleImportScript.sql.

    Vous pouvez enregistrer le fichier dans un emplacement quelconque sur votre ordinateur. Prenez note de l'emplacement afin de l'utiliser dans la procédure suivante.

  7. Cliquez sur Enregistrer.

  8. Dans le menu Fichier, cliquez sur Fermer la solution.

    Ensuite, créez un projet de base de données et importez le schéma depuis le script que vous avez créé.

Pour créer un 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 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.

    Notes

    Si vous voulez effectuer un déploiement vers un serveur autre que SQL Server 2008, cliquez sur le modèle qui correspond à votre environnement de déploiement cible.

  4. Dans la zone Nom, tapez WalkthroughDataGenerator, puis cliquez sur OK.

    Une solution qui contient le projet vide WalkthroughDataGenerator est créée. Il s'agit de votre projet de base de données. Personne d'autre n'a accès à votre projet de base de données pendant que vous l'utilisez.

  5. Dans l'Explorateur de solutions, cliquez sur WalkthroughDataGenerator.

  6. Dans le menu Projet, cliquez sur Importer le script.

  7. Dans la boîte de dialogue Importation de fichier de script SQL, cliquez sur Suivant.

  8. Dans la zone Nom de fichier, tapez le chemin d'accès et le nom de fichier du script que vous avez créé à l'étape précédente de cette procédure pas à pas.

    Vous pouvez également cliquer sur Parcourir pour rechercher le fichier de script.

  9. Cliquez sur Terminer.

    Le script qui contient la définition de la structure de votre base de données est importé.

  10. Lorsque le schéma est importé, cliquez sur Terminer.

    Le schéma de base de données a été importé dans votre projet de base de données. Les éléments de projet qui correspondent aux objets dans la base de données apparaissent sous le projet de base de données dans l'Explorateur de solutions et la vue Schéma. Ensuite, configurez, générez et déployez le projet dans votre environnement de développement local.

Déploiement dans un environnement de développement isolé

Ensuite, vous déployez le projet vers une nouvelle base de données. Cette procédure crée une base de données contenant le schéma importé, mais pas de données. Cette base de données est un environnement de développement isolé, ou bac à sable (sandbox), dans lequel vous pouvez développer et tester la base de données.

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

  1. Dans l'Explorateur de solutions, cliquez sur le projet de base de données WalkthroughDataGenerator.

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

    Les propriétés du projet s'affichent.

  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. Dans Paramètres de la base de données cible, cliquez sur Modifier pour afficher la boîte de dialogue Propriétés de connexion.

  6. Définissez les propriétés de connexion pour la base de données dans laquelle vous voulez travailler, puis cliquez sur OK.

    La zone Connexion cible contient la chaîne de connexion correcte.

    Avertissement

    Vous devez créer la base de données sur un serveur de test, un serveur de développement ou sur votre ordinateur local. Vous ne devez pas utiliser votre serveur de production.

  7. Dans la zone de texte Nom de la base de données cible, tapez DinnerNowDataGenerator.

  8. Dans le menu Fichier, cliquez sur Enregistrer tout.

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

    Lorsque vous générez le projet, vérifiez que le fichier .dbschema peut être créé sans erreur. L'état de la génération apparaît dans la fenêtre Sortie et Génération : 1 a réussi ou est à jour doit apparaître sur la dernière ligne.

Pour déployer le projet de base de données

  1. Dans l'Explorateur de solutions, cliquez sur le projet de base de données WalkthroughDataGenerator.

  2. Dans le menu Générer, cliquez sur Déployer WalkthroughDataGenerator. Vous pouvez également cliquer avec le bouton droit sur le projet dans l'Explorateur de solutions, puis cliquer sur Déployer.

    Avertissement

    Vous devez exécuter ce déploiement sur un serveur de test, un serveur de développement ou votre ordinateur local. Vous ne devez pas utiliser votre serveur de production.

    Le projet de base de données est déployé vers une nouvelle base de données. L'état du déploiement apparaît dans la fenêtre Sortie et Déploiement : 1 a réussi doit apparaître sur la dernière ligne.

    Notes

    Si la fenêtre Sortie n'apparaît pas, ouvrez le menu Affichage et cliquez sur Sortie.

Création du plan de génération de données

Ensuite, vous créez le plan de génération de données. Le plan de génération de données contient les informations sur les tables et colonnes que vous souhaitez remplir de données. Pour plus d'informations, consultez Comment : créer des plans de génération de données.

Pour créer le plan de génération de données

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nœud Plans de génération de données, pointez sur Ajouter, puis cliquez sur Plan de génération de données.

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

  2. Dans la zone de texte Nom, tapez PartialDGenPlan.dgen.

  3. Cliquez sur Ajouter.

    Le plan de génération de données est créé. Le plan de génération de données et la fenêtre Aperçu de la génération de données s'affichent. La fenêtre du plan de génération de données est divisée horizontalement en deux volets. Le volet supérieur répertorie les tables définies dans le schéma de projet de base de données. Le volet inférieur présente les détails des colonnes pour la table sélectionnée dans le volet supérieur.

    Notes

    Si la fenêtre Aperçu de la génération de données n'est pas ouverte, vous pouvez l'ouvrir en ouvrant le menu Données, en pointant sur Générateur de données, puis en cliquant sur le nom de la fenêtre Afficher un aperçu de la génération de données. Par défaut, la fenêtre Aperçu de la génération de données est ancrée et affiche des onglets au bas de la fenêtre du plan de génération de données. Pour développer la vue, cliquez sur la fenêtre, puis sur Ancrer en tant que document avec onglet dans le menu Fenêtre. Vous pouvez également cliquer avec le bouton droit dans la barre de titre, puis cliquer sur Ancrer en tant que document avec onglet.

  4. Dans le concepteur PartialDGenPlan.dgen, désactivez les cases à cocher pour toutes les tables.

    Notes

    Vous pouvez activer ou désactiver les cases à cocher pour toutes les tables à l'aide des commandes Inclure toutes les tables dans la génération de données et Exclure toutes les tables de la génération de données. Pour accéder à ces commandes, cliquez avec le bouton droit sur n'importe quelle ligne dans la fenêtre du plan de génération de données ou, dans le menu Données, pointez sur Générateur de données.

  5. Dans le concepteur PartialDGenPlan.dgen, activez la case à cocher pour la table dbo.Restaurant.

    La case à cocher de la table dbo.RestaurantCategory est automatiquement activée. Étant donné que la table Restaurant comporte une clé étrangère vers la table RestaurantCategory, vous devez remplir l'autre table pour remplir la table Restaurant. Pour plus d'informations, consultez Comment : spécifier des tables pour la génération de données.

  6. Dans le menu Fichier, cliquez sur Enregistrer tout.

Spécification de détails pour la génération de données

Ensuite, vous spécifiez les détails sur le mode de remplissage des colonnes avec des données. Pour plus d'informations, consultez Spécifier les détails de génération de données pour une colonne.

Pour spécifier des détails pour la génération de données

  1. Définissez le nombre de lignes de données à générer en procédant comme suit :

    1. Dans le concepteur PartialDGenPlan.dgen, cliquez sur la ligne associée à la table Restaurant.

    2. Cliquez sur la colonne Table associée et utilisez la flèche vers le bas pour spécifier la table RestaurantCategories.

    3. Cliquez sur la colonne Ratio pour la table associée et tapez 10:1.

    Avec ces paramètres, vous allez générer 10 restaurants pour chaque catégorie générée. Pour plus d'informations, consultez Comment : spécifier le nombre de lignes à générer.

  2. Définissez le nombre de lignes de données NULL à générer en procédant comme suit :

    1. Dans le concepteur PartialDGenPlan.dgen, cliquez sur la ligne associée à la table Restaurant.

    2. Dans le volet de détails des colonnes, cliquez sur la ligne correspondant à la colonne Description.

    3. Dans la fenêtre Propriétés, affectez la valeur 10 à la propriété Pourcentage Null.

    Avec ces paramètres, 10 % des données générées dans la colonne Description contiendront la valeur NULL. Vous pouvez ouvrir la fenêtre Aperçu de la génération de données et vérifier que la colonne Description contient quelques valeurs Null.

  3. Définissez le texte des données générées en suivant les étapes ci-après :

    1. Dans le concepteur PartialDGenPlan.dgen, cliquez sur la ligne associée à la table Restaurant.

    2. Dans le volet de détails des colonnes, cliquez sur la ligne correspondant à la colonne Name.

    3. Cliquez sur la colonne Générateur et utilisez la flèche de déroulement pour définir le générateur de données RegularExpression.

    4. Dans la fenêtre Propriétés, attribuez à la propriété Expression la valeur suivante :

      (Delicious|Golden|Family|Sweet|Dancing|Magic|Thai) (Ginger|Duck|Flower|Potato|Pumpkin|Kitchen|Grill|Onion|Corral)
      

    Les données générées dans la colonne ProductName contiendront des noms comportant deux mots. Vous pouvez ouvrir la fenêtre Aperçu de la génération de données et vérifier que la colonne Name contient des noms de restaurant générés de façon aléatoire. Pour plus d'informations, consultez Générateur d'expressions régulières.

  4. Dans le menu Fichier, cliquez sur Enregistrer tout.

Exécution du plan pour générer les données

Enfin, vous exécutez le plan de génération de données. Après avoir généré les données, vous pouvez utiliser un outil différent pour vous connecter à la base de données et vérifier les nouvelles données.

Pour exécuter le plan pour générer les données

  1. Dans l'Explorateur de solutions, double-cliquez sur PartialDGenPlan.dgen.

    Notes

    Le plan de génération de données doit être ouvert. S'il ne l'est pas, vous ne pouvez pas générer de données.

  2. Dans le menu Données, pointez sur Générateur de données, puis cliquez sur Générer les données.

    La boîte de dialogue Se connecter à la base de données s'affiche.

  3. Dans la liste Informations de connexion de génération de données, spécifiez une connexion à la base de données que vous avez déployée précédemment dans cette procédure pas à pas, puis cliquez sur OK.

  4. Cliquez sur Oui lorsque vous êtes invité à effacer le contenu des tables avant d'insérer de nouvelles lignes.

    Les données sont générées. Dans la fenêtre Remplissage, la colonne d'état est mise à jour selon l'état de la génération de données. La barre d'état résume la génération de données pour toutes les tables.

  5. (Facultatif) Utilisez un outil différent pour vous connecter à la base de données. Vous pouvez utiliser l'éditeur Transact-SQL fourni dans Visual Studio Premium pour cette étape. Pour plus d'informations, consultez Modification d'objets et de scripts de base de données avec l'éditeurTransact-SQL (page éventuellement en anglais) sur le site Web Microsoft. Affichez les nouvelles données en exécutant la requête suivante :

    use DinnerNowDataGenerator
    
    select * from [dbo].[RestaurantCategory]
    select * from [dbo].[Restaurant]
    

    Vérifiez qu'un nombre égal à 10 fois les lignes ont été générées pour la table Restaurant comme pour la table RestaurantCategory. Vérifiez que la colonne Description de la table Restaurant contient des valeurs NULL. Vérifiez que la colonne Name de la table Restaurant contient des données qui correspondent à l'expression régulière que vous avez spécifiée.

Étapes suivantes

En théorie, vous configureriez la génération de données pour le reste des colonnes et tables contenues dans votre base de données. Après avoir terminé cette configuration, vous archiveriez votre projet, notamment le plan de génération de données, dans le contrôle de version de manière à le mettre à la disposition de votre équipe. Pour plus d'informations, consultez Ajout de fichiers au contrôle de version.

Voir aussi

Concepts

Génération de données de test pour des bases de données à l'aide de générateurs de données

Spécifier les détails de génération de données pour une colonne

Vérification du code de base de données à l'aide de tests unitaires

Générer des données de test spécialisées à l'aide d'un générateur de données personnalisé