生成数据概述

更新:2007 年 11 月

在 Visual Studio Team System Database Edition 中,可以用测试数据填充测试数据库。可以生成适合数据库架构但与生产数据无关的数据。这样,无需使用生产数据就可以创建和运行为数据库提供有意义结果的单元测试。如果必须保护生产数据的隐私或安全,则此方法可能会十分有用。本主题概述如何在 Database Edition 中生成数据。

生成数据

若要生成数据,必须按照下列步骤操作:

  1. 创建一个数据生成计划。有关更多信息,请参见如何:创建数据生成计划

  2. 选择要向其中填充数据的表,并指定要为每个表生成的数据量。在某些情况下,可能只需为其中几个表生成数据。有关更多信息,请参见如何:指定用于数据生成的表如何:指定要生成的行数

  3. 选择要向其中填充数据的列,并为每列配置设置。此信息是数据生成计划的核心。通过为每列选择数据生成器并设置属性,可以准确地控制生成哪些数据来填充各列。有关更多信息,请参见如何:为数据生成指定列为列指定数据生成的详细信息

  4. 运行数据生成计划以生成数据。有关更多信息,请参见如何:运行数据生成计划以生成数据

数据生成器

Team Edition for Database Professionals 包括多个内置的标准数据生成器,这些生成器可用来生成不同类型的数据。例如,整数数据生成器可生成随机整数值,字符串生成器可生成随机字符串,正则表达式生成器可生成与指定格式匹配的字符串。有关标准数据生成器的更多信息和完整列表,请参见标准数据生成器类型使用标准数据生成器

自定义数据生成器

通过创建自定义数据生成器或扩展标准数据生成器,可以扩展 Visual Studio Team System Database Edition 的数据生成功能。如果标准数据生成器无法满足您的业务规则,则可以创建自定义数据生成器。例如,如果有一列包含引用另一列的 CHECK 约束,则可能需要创建自定义数据生成器。然后就可以使用该自定义生成器来用数据填充该列。有关更多信息,请参见创建自定义数据生成器

Database Edition 包括可用来创建自定义数据生成器的扩展性 API。有关更多信息,请参见 Microsoft.VisualStudio.TeamSystem.Data.DataGenerator

数据生成计划和架构更改

在数据库项目中创建数据生成计划时,该计划基于该项目的数据库架构。如果创建了数据生成计划,但随后数据库项目的架构发生了更改,则系统会提示您更新该计划。在下列情况下会发生此行为:

  • 在尚未具有架构的数据库项目中创建了数据生成计划。然后,将架构导入了该数据库项目中。

  • 在具有架构的数据库项目中创建了数据生成计划,但随后该架构发生了更改。

在这两种情况下,打开数据生成计划或该计划变成活动文档时,系统都会提示您更新该计划。如果未根据架构更改更新数据生成计划,就不能继续编辑该计划。可以关闭并重新打开数据生成计划以显示该提示。

团队环境中的数据生成计划

数据生成计划是一个 XML 文件,它包含有关数据库架构的信息和一些配置信息,这些配置信息控制每个选定表中每一列的数据生成。对于包含约 40 个表的大小适中的数据库,其数据生成计划约为 8 MB,长度可超过 100,000 行。

无法使用 Team Foundation 版本控制自动将更改合并到 .dgen 文件中,而手动合并大型的 XML 文件则不易操作且容易出错。需要进行更改时,可以将数据生成计划以独占方式签出,从而尽可能减少与数据生成计划相关的问题。

数据生成计划和单元测试

可以通过使用数据库单元测试引入错误来验证对数据库的对象更改是否未破坏现有功能。数据库单元测试是对软件开发人员所创建的软件单元测试的补充。有关更多信息,请参见数据库单元测试概述

若要运行数据库单元测试,必须提供有意义的测试数据。可以创建一个生成有意义数据的数据生成计划,然后将该计划链接到单元测试。每次运行该单元测试时,就会首先运行该数据生成计划,从而为测试创建数据。有关此操作的示例,请参见演练:创建和运行数据库单元测试

安全性

有关更多信息,请参见数据生成器的安全性

请参见

概念

数据生成问题疑难解答

参考

选项(数据库工具/数据生成器/常规)

选项(数据库工具/数据生成器/默认生成器)

其他资源

数据生成计划

使用数据生成器生成数据