Share via


Exemplarische Vorgehensweise: Erstellen und Ausführen eines Datengenerierungsplans

In dieser exemplarischen Vorgehensweise erstellen Sie einen Datengenerierungsplan und führen diesen aus, um eine Testdatenbank mit nach dem Zufallsprinzip generierten Daten zu füllen. Zunächst erstellen Sie ein Datenbankprojekt, das Sie dann in einer isolierten Testdatenbank bereitstellen. Sie können mithilfe der isolierten Datenbank Testdaten generieren, ohne die Produktionsdaten oder die Produktionsdatenbank zu verwenden.

Vorbereitungsmaßnahmen

Zum Durchführen dieser exemplarischen Vorgehensweise müssen folgende Produkte installiert sein:

  • Visual Studio Premium

  • SQL Server 2008 oder SQL Server 2005 

Erstellen des Datenbankprojekts

Zunächst erstellen Sie ein Datenbankprojekt und importieren das Schema aus einem Skript.

Tipp

In einer Teamumgebung können Sie ein vorhandenes Projekt aus der Versionskontrolle auschecken, um an einem Datenbankprojekt zu arbeiten. Weitere Informationen finden Sie unter Beginnen der Datenbankentwicklung im Team.

So erstellen Sie das Datenbankskript

  1. Zeigen Sie im Menü Datei auf Neu, und klicken Sie auf Datei.

    Das Dialogfeld Neue Datei wird angezeigt.

  2. Klicken Sie in der Liste Kategorien auf Allgemein, wenn dieser Eintrag nicht bereits hervorgehoben ist.

  3. Klicken Sie in der Liste Vorlagen auf SQL-Datei und dann auf Öffnen.

    Der Transact-SQL-Editor wird geöffnet.

  4. Kopieren Sie den folgenden Transact-SQL-Code, und fügen Sie diesen in den Transact-SQL-Editor ein.

    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. Klicken Sie im Menü Datei auf SqlQuery_1.sql speichern unter.

    Das Dialogfeld Datei speichern unter wird geöffnet.

  6. Geben Sie in Objektname den Dateinamen SampleImportScript.sql ein.

    Sie können die Datei an einem beliebigen Speicherort auf dem Computer speichern. Notieren Sie sich den Speicherort, sodass Sie diesen in der nächsten Prozedur verwenden können.

  7. Klicken Sie auf Speichern.

  8. Klicken Sie im Menü Datei auf Projektmappe schließen.

    Danach erstellen Sie ein Datenbankprojekt und importieren das Schema aus dem erstellten Skript.

So erstellen Sie ein Datenbankprojekt

  1. Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.

    Das Dialogfeld Neues Projekt wird angezeigt.

  2. Erweitern Sie unter Installierte Vorlagen den Knoten Datenbank, und klicken Sie dann auf SQL Server.

    Tipp

    Navigieren Sie bei Verwendung von Visual Studio Professional zu Installierte Vorlagen, erweitern Sie den Knoten Datenbank, erweitern Sie den Knoten SQL Server, und klicken Sie anschließend auf Erweitert.

  3. Klicken Sie in der Liste der Vorlagen auf SQL Server 2008-Datenbankprojekt.

    Tipp

    Soll die Bereitstellung auf einem Server erfolgen, bei dem es sich nicht um SQL Server 2008 handelt, klicken Sie auf die Vorlage für die gewünschte Bereitstellungsumgebung.

  4. Geben Sie unter Name die Zeichenfolge WalkthroughDataGenerator ein, und klicken Sie dann auf OK.

    Daraufhin wird eine Projektmappe erstellt, die das leere Projekt WalkthroughDataGenerator enthält. Dabei handelt es sich um das Datenbankprojekt. Kein anderer Benutzer kann auf das Datenbankprojekt zugreifen, während Sie dieses verwenden.

  5. Klicken Sie im Projektmappen-Explorer auf WalkthroughDataGenerator.

  6. Klicken Sie im Menü Projekt auf Skript importieren.

  7. Klicken Sie im Dialogfeld SQL-Skriptdatei importieren auf Weiter.

  8. Geben Sie in Dateiname den Pfad und den Dateinamen des Skripts ein, das Sie zuvor in dieser exemplarischen Vorgehensweise erstellt haben.

    Sie können auch auf Durchsuchen klicken, um die Skriptdatei zu suchen.

  9. Klicken Sie auf Fertig stellen.

    Das Skript mit der Definition der Datenbankstruktur wird importiert.

  10. Wenn das Schema importiert wird, klicken Sie auf Fertig stellen.

    Das Datenbankschema wurde in das Datenbankprojekt importiert. Projektelemente, die den Objekten in der Datenbank entsprechen, werden im Projektmappen-Explorer und in der Schemaansicht unter dem Datenbankprojekt angezeigt. Danach konfigurieren und erstellen Sie das Projekt und stellen dieses in der lokalen Entwicklungsumgebung bereit.

Bereitstellen einer isolierten Entwicklungsumgebung

Als Nächstes stellen Sie das Projekt in einer neuen Datenbank bereit. Mit dieser Prozedur wird eine Datenbank mit dem importierten Schema, aber ohne Daten erstellt. Bei dieser Datenbank handelt es sich um eine isolierte Entwicklungsumgebung oder Sandbox, in der Sie die Datenbank entwickeln und testen können.

So erstellen Sie das Datenbankprojekt

  1. Klicken Sie im Projektmappen-Explorer auf das Datenbankprojekt WalkthroughDataGenerator.

  2. Klicken Sie im Menü Projekt auf Eigenschaften von WalkthroughDataGenerator.

    Die Projekteigenschaften werden angezeigt.

  3. Klicken Sie auf die Registerkarte Bereitstellen.

  4. Klicken Sie in der Liste Bereitstellungsvorgang auf Bereitstellungsskript erstellen und in Datenbank bereitstellen (.sql).

  5. Klicken Sie in Einstellungen für die Zieldatenbank auf Bearbeiten, um das Dialogfeld Verbindungseigenschaften anzuzeigen.

  6. Legen Sie die Verbindungseigenschaften für die Datenbank fest, mit der Sie arbeiten möchten, und klicken Sie dann auf OK.

    Das Feld Zielverbindung wird mit der richtigen Verbindungszeichenfolge ausgefüllt.

    Warnung

    Sie sollten die neue Datenbank auf einem Testserver, einem Entwicklungsserver oder auf dem lokalen Computer erstellen. Der Produktionsserver sollte nicht verwendet werden.

  7. Geben Sie im Textfeld Zieldatenbankname den Namen DinnerNowDataGenerator ein.

  8. Klicken Sie im Menü Datei auf Alle speichern.

  9. Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

    Wenn Sie das Projekt erstellen, überprüfen Sie, ob die DBSCHEMA-Datei ohne Fehler erstellt werden kann. Der Status des Builds wird im Ausgabefenster angezeigt, und die letzte Zeile sollte Build: 1 erfolgreich oder aktuell lauten.

So stellen Sie das Datenbankprojekt bereit

  1. Klicken Sie im Projektmappen-Explorer auf das Datenbankprojekt WalkthroughDataGenerator.

  2. Klicken Sie im Menü Erstellen auf WalkthroughDataGenerator bereitstellen. Sie können auch im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt klicken und anschließend auf Bereitstellen klicken.

    Warnung

    Sie sollten diese Bereitstellung auf einem Testserver, einem Entwicklungsserver oder dem lokalen Computer ausführen. Der Produktionsserver sollte nicht verwendet werden.

    Das Datenbankprojekt wird in einer neuen Datenbank bereitgestellt. Der Status der Bereitstellung wird im Ausgabefenster angezeigt, und die letzte Zeile sollte Bereitstellung: 1 erfolgreich lauten.

    Tipp

    Wird das Ausgabefenster nicht angezeigt, öffnen Sie das Menü Ansicht, und klicken Sie auf Ausgabe.

Erstellen des Datengenerierungsplans

Jetzt erstellen Sie den Datengenerierungsplan. Der Datengenerierungsplan enthält Informationen über die Tabellen und Spalten, die Sie mit Daten füllen möchten. Weitere Informationen finden Sie unter Gewusst wie: Erstellen von Datengenerierungsplänen.

So erstellen Sie den Datengenerierungsplan

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Knoten Datengenerierungspläne, zeigen Sie auf Hinzufügen, und klicken Sie anschließend auf Datengenerierungsplan.

    Das Dialogfeld Neues Element hinzufügen wird angezeigt.

  2. Geben Sie im Textfeld Name den Designer PartialDGenPlan.dgen ein.

  3. Klicken Sie auf Hinzufügen.

    Der Datengenerierungsplan wird erstellt. Der Datengenerierungsplan und das Fenster Vorschau für Datengenerierung werden angezeigt. Das Datengenerierungsplanfenster ist horizontal in zwei Bereiche unterteilt. Im oberen Bereich sind die im Datenbankprojektschema definierten Tabellen aufgeführt. Im unteren Bereich werden Spaltendetails für die im oberen Bereich hervorgehobene Tabelle angezeigt.

    Tipp

    Wenn das Fenster Vorschau für Datengenerierung nicht geöffnet ist, können Sie es öffnen, indem Sie im Menü Daten auf Datengenerator zeigen und dann auf Datengenerierungsvorschau anzeigen klicken. Standardmäßig ist das Fenster Vorschau für Datengenerierung unten im Fenster mit dem Datengenerierungsplan angedockt und als Registerkarte verfügbar. Klicken Sie zum Erweitern der Ansicht auf das Fenster, und klicken Sie anschließend im Menü Fenster auf Als Dokument im Registerkartenformat andocken. Sie können auch mit der rechten Maustaste auf die Titelleiste klicken und dann auf Als Dokument im Registerkartenformat andocken klicken.

  4. Deaktivieren Sie im Designer PartialDGenPlan.dgen die Kontrollkästchen für alle Tabellen.

    Tipp

    Mit den Befehlen Alle Tabellen bei der Datengenerierung einschließen und Alle Tabellen bei der Datengenerierung ausschließen können Sie die Kontrollkästchen für alle Tabellen aktivieren oder deaktivieren. Sie können auf diese Befehle zugreifen, indem Sie mit der rechten Maustaste im Fenster für den Datengenerierungsplan auf eine beliebige Zeile klicken oder im Menü Daten auf Datengenerator zeigen.

  5. Aktivieren Sie im Designer PartialDGenPlan.dgen das Kontrollkästchen für die Tabelle Restaurant.

    Das Kontrollkästchen für die Tabelle dbo.RestaurantCategory wird auch automatisch aktiviert. Da die Tabelle Restaurant einen Fremdschlüssel für die Tabelle RestaurantCategory besitzt, müssen Sie die andere Tabelle auffüllen, um die Tabelle Restaurant aufzufüllen. Weitere Informationen finden Sie unter Gewusst wie: Angeben von Tabellen für die Datengenerierung.

  6. Klicken Sie im Menü Datei auf Alle speichern.

Angeben von Details für die Datengenerierung

Im nächsten Schritt geben Sie die Details zum Füllen der Spalten mit Daten an. Weitere Informationen finden Sie unter Angeben von Details zur Datengenerierung für eine Spalte.

So geben Sie Details für die Datengenerierung an

  1. Legen Sie die Anzahl der zu generierenden Datenzeilen mit den folgenden Schritten fest:

    1. Klicken Sie im Designer PartialDGenPlan.dgen auf die Zeile für die Tabelle Restaurant.

    2. Klicken Sie auf die Spalte Zugehörige Tabelle, und geben Sie mithilfe des Dropdownpfeils die Tabelle "RestaurantCategories" an.

    3. Klicken Sie auf die Spalte Verhältnis zur zugehörigen Tabelle, und geben Sie 10:1 ein.

    Auf Grundlage dieser Einstellungen generieren Sie 10 Restaurants für jede generierte Kategorie. Weitere Informationen finden Sie unter Gewusst wie: Angeben der Anzahl der zu generierenden Zeilen.

  2. Legen Sie die Anzahl von NULL zu generierenden Datenzeilen mit den folgenden Schritten fest:

    1. Klicken Sie im Designer PartialDGenPlan.dgen auf die Zeile für die Tabelle Restaurant.

    2. Klicken Sie im Spaltendetailbereich auf die Zeile für die Spalte Beschreibung.

    3. Legen Sie im Eigenschaftenfenster die Eigenschaft Prozentualer NULL-Wert auf 10 fest.

    Bei diesen Einstellungen enthalten 10 % der in der Spalte Beschreibung generierten Daten NULL. Sie können das Fenster Vorschau für Datengenerierung öffnen und überprüfen, ob die Spalte Beschreibung NULL-Werte enthält.

  3. Legen Sie mit den folgenden Schritten den Text für die generierten Daten fest:

    1. Klicken Sie im Designer PartialDGenPlan.dgen auf die Zeile für die Tabelle Restaurant.

    2. Klicken Sie im Spaltendetailbereich auf die Zeile für die Spalte Name.

    3. Klicken Sie auf die Spalte Generator, und geben Sie mithilfe des Dropdownpfeils den Datengenerator RegularExpression an.

    4. Legen Sie im Eigenschaftenfenster die Expression-Eigenschaft folgendermaßen fest:

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

    Die in der Spalte ProductName generierten Daten enthalten Namen aus zwei Wörtern. Sie können das Fenster Vorschau für Datengenerierung öffnen und überprüfen, ob die Spalte Name nach dem Zufallsprinzip generierte Namen von Restaurants enthält. Weitere Informationen finden Sie unter Der Generator für reguläre Ausdrücke.

  4. Klicken Sie im Menü Datei auf Alle speichern.

Ausführen des Plans zur Datengenerierung

Abschließend führen Sie den Datengenerierungsplan aus. Nachdem Sie die Daten generiert haben, können Sie ein anderes Tool verwenden, um sich bei der Datenbank anzumelden und die neuen Daten zu überprüfen.

So führen Sie den Plan zur Datengenerierung aus

  1. Doppelklicken Sie im Projektmappen-Explorer auf PartialDGenPlan.dgen.

    Tipp

    Der Datengenerierungsplan muss geöffnet sein. Wenn der Plan nicht geöffnet ist, können Sie keine Daten generieren.

  2. Zeigen Sie im Menü Daten auf Datengenerator, und klicken Sie dann auf Daten generieren.

    Das Dialogfeld Verbindung zur Datenbank herstellen wird angezeigt.

  3. Geben Sie in der Liste Verbindungsinformationen zur Datengenerierung eine Verbindung mit der zuvor in dieser exemplarischen Vorgehensweise bereitgestellten Datenbank an, und klicken Sie dann auf OK.

  4. Wenn Sie aufgefordert werden, den Inhalt der Tabellen vor dem Einfügen von neuen Zeilen zu löschen, klicken Sie auf Ja.

    Die Daten werden generiert. Im Fenster Auffüllung wird die Statusspalte mit dem Status der Datengenerierung aktualisiert. Auf der Statusleiste wird die Datengenerierung für alle Tabellen zusammengefasst.

  5. (Optional) Verwenden Sie ein anderes Tool, um sich bei der Datenbank anzumelden. Für diesen Schritt können Sie den in Visual Studio Premium bereitgestellten Transact-SQL-Editor verwenden. Weitere Informationen finden Sie auf der Microsoft-Website unter Editing Database Scripts and Objects with the Transact-SQL Editor. Zeigen Sie die neuen Daten an, indem Sie die folgende Abfrage ausführen:

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

    Überprüfen Sie, ob für die Tabelle Restaurant 10-mal so viele Zeilen wie für die Tabelle RestaurantCategory generiert wurden. Überprüfen Sie, ob die Spalte Description der Tabelle Categories NULL-Werte enthält. Überprüfen Sie, ob die Spalte Name in der Tabelle Restaurant Daten enthält, die mit dem angegebenen regulären Ausdruck übereinstimmen.

Nächste Schritte

Meist konfigurieren Sie die Datengenerierung für die anderen Spalten und die Tabellen in der Datenbank. Wenn Sie diese Konfiguration beendet haben, machen Sie das Projekt für das Team verfügbar, indem Sie es samt Datengenerierungsplan in die Versionskontrolle einchecken. Weitere Informationen finden Sie unter Hinzufügen von Dateien zur Versionskontrolle.

Siehe auch

Konzepte

Generieren von Testdaten für Datenbanken mithilfe von Daten-Generatoren

Angeben von Details zur Datengenerierung für eine Spalte

Überprüfen von Datenbankcode mithilfe von Komponententests

Generieren spezialisierter Testdaten mit einem benutzerdefinierten Daten-Generator