为列指定数据生成的详细信息

更新:2007 年 11 月

要生成数据,必须创建并运行一个数据生成计划。数据生成计划包含了关于要为其填充数据的表和列的信息。在创建该计划后,您可以指定如何为列填充数据的详细信息。有关更多信息,请参见数据生成计划如何:创建数据生成计划

指定列详细信息

通过为“列详细信息”窗口中的每个列指定生成器和生成器输出,您可以控制生成哪些数据来填充列。下表介绍如何为每个列指定详细信息:

列名

详细信息

列的名称。此列包含一个复选框。选中该复选框为该列生成数据。清除复选框将该列留空。必须为不可为 null 的列生成数据,但具有默认约束的列除外。“属性”窗口将显示允许为 Null 和默认值属性。可以使用这些属性来决定用数据填充哪些列。有关如何指定为哪些列填充数据的更多信息,请参见如何:为数据生成指定列

如果列是主键列或外键列,此列将包含键的图片。此列只读,仅用于提供信息。

数据类型

列的 SQL 数据类型。此列只读,仅用于提供信息。有关 SQL 数据类型的更多信息,请参见“Data Types”(数据类型)数据类型 (Transact-SQL)

生成器

将用于为此列生成数据的数据生成器的类型。每个 SQL 数据类型具有一个默认数据生成器;当您首次创建数据生成计划时,在此列中输入默认生成器。若要更改数据生成器,您可以单击列中的下拉箭头,然后选择另一个数据生成器。以下是关于如何选择数据生成器的要点:

  • 并非所有数据生成器类型都可用于所有 SQL 数据类型。此列表仅显示可用于该列的 SQL 数据类型的数据生成器。

  • 标识列和外键列将使用“SQL 计算值”数据生成器和“外键”数据生成器,而与该列的 SQL 数据类型无关。而且,您不能更改标识列和外键列的数据生成器。

有关更多信息,请参见标准数据生成器类型选项(数据库工具/数据生成器/默认生成器)

生成器输出

此列用于生成多个输出值的任何数据生成器。例如,当您使用数据绑定生成器时,必须指定一个 select 查询来从数据源中检索数据。指定 select 查询后,此列包含该查询所返回的一个数据列列表。然后,使用下拉箭头来选择要用于填充该列的数据。有关更多信息,请参见本文档后面提供的连接信息和 Select 查询属性。

此列还可以供自定义数据生成器使用。一个自定义数据生成器可以生成多个输出值。例如,自定义数据生成器可以生成位于两个不同日期范围之一内的日期。然后,您可以使用该列来指定要使用的输出。

设置列属性

可以通过设置数据生成计划中列的属性来控制生成以填充列的数据。若要设置属性,请打开“列详细信息”窗口,然后打开“属性”窗口。共有三种属性类别:列信息、数据库约束和生成器。“列信息”属性和“数据库约束”属性为只读。它们为您提供关于每列的信息,可用于帮助您自定义数据生成计划。“生成器”属性通常为可读写,不过有些数据生成器可能具有只读属性。正是通过设置“生成器”属性,您可以控制数据生成方式。

说明:

如果“属性”窗口分类显示,您将看到各个类别。如果“属性”窗口按字母顺序显示,则看不到这些类别。您可以使用“属性”窗口中工具栏上的“分类显示”和“按字母顺序显示”[Alphabetical]按钮在这两种视图间切换。

“列信息”属性和“数据库约束”属性

下表包含每列的“列信息”属性和“数据库约束”属性中的具体属性:

属性

详细信息

大小

数据库列的大小(以字节为单位)。

允许为 Null

True 或 False。指定列是否可以具有 NULL 值。

CHECK 约束

如果列没有 CHECK 约束则为空。如果列具有 CHECK 约束,则指定该 CHECK 约束的公式。

说明:

因为一列可以具有多个 CHECK 约束,所以当其不为空时此属性是一个字符串数组。数组的每个元素分别是其中一个约束的公式的字符串。

默认值

如果列没有默认约束则为空。如果列具有默认约束,则指定默认值。

外键

如果列没有外键约束则为空。如果列具有外键约束,则指定外键所引用的表和列。

主键

True 或 False。指定列是否为表的主键的一部分。

唯一

True 或 False。指定列是否为唯一约束的一部分。

生成器属性

正是通过设置“生成器”属性,您可以控制数据生成方式。每列可用的属性取决于当前为该列选择的数据生成器。不是所有数据生成器都有全部属性。例如,数据绑定生成器具有一个“连接信息”属性,可用于指定到数据源的连接字符串。其他数据生成器无需此属性。

下表包含每列的生成器属性:

属性

详细信息

数据生成器类型

默认值

Null 百分比

为列生成的 NULL 值的近似百分比。只有当列允许 NULL 时,您才能修改此属性。对于不接受 NULL 值的列,此属性必须为 0。值 0 意味着不生成 NULL 值。值 100 意味着所有生成的值均为 NULL。

除 SQL 计算值之外的所有数据生成器。

0

种子

随机数据生成算法中使用的种子值。标准数据生成器是确定性的。如果使用相同的种子值,可以再次生成相同的随机数据。可以通过更改种子值来生成一组新的(但是具有确定性的)随机数据。

除 SQL 计算值之外的所有数据生成器。

5

您可以使用“选项”页来更改“种子”属性的默认值。有关更多信息,请参见选项(数据库工具/数据生成器/常规)

唯一

当该属性为 True 时,为列生成的数据具有唯一性。该属性与“步长”属性一同用于数值类型。

除 SQL 计算值、正则表达式、图像和数据绑定之外的所有数据生成器。

如果列是唯一性约束的组成部分则为 True;否则为 False。

步长

当“唯一”属性为 True 时,每行的数据通过将“步长”值加到上一行的数据计算而得。步长可以为负值。

Decimal、Real、Float、Money、DateTime 和整数数据生成器。

如果可以成功分析某个现有的 CHECK 约束,则基于该约束。

smalldatetime:1 分钟

datetime:1 分钟

所有其他数值类型:1

分布

随机生成的数据近似的统计分布曲线。选项如下:均匀、正态、逆正态、指数、逆指数。

Decimal、Money、DateTime、Real、Float 和整数数据生成器。

均匀

最小值

为列生成的数据的最小值。

Decimal、Money、DateTime、Real、Float 和整数数据生成器。

如果可以成功分析某个现有的 CHECK 约束,则基于该约束。

smalldatetime:1/1/1900

datetime:1/1/1753

所有其他数值类型:0

最大值

为列生成的数据的最大值。

Decimal、Money、DateTime、Real、Float 和整数数据生成器。

如果可以成功分析某个现有的 CHECK 约束,则基于该约束。

smalldatetime:6/6/2079

datetime:12/31/9999

所有其他数值类型:由数据类型或列定义所确定的最大值。

区域设置

将用于生成随机字符的区域设置。使用下拉箭头查看可用区域设置列表。此属性基于数据库列的排序规则的区域设置,而不是基于操作系统或 Visual Studio 的区域设置。

字符串

默认值

最小长度

为列生成的数据的最小长度。

字符串、二进制

1

最大长度

为列生成的数据的最大长度。必须使该值保持合理以避免出现 OutOfMemory 异常。

字符串、二进制、正则表达式

由数据类型或列定义所确定的最大长度。

4000

8000

表达式

要用于生成数据的正则表达式。所生成的数据将匹配指定的模式。有关更多信息,请参见正则表达式生成器

正则表达式

[a-zA-Z0-9]*

高度

为列生成的图像的高度。

图像

基于列的大小进行计算,确保所生成的图像适应列的大小。

64

宽度

为列生成的图像的宽度。

图像

基于列的大小进行计算,确保所生成的图像适应列的大小。

64

连接信息

数据源的连接字符串。可以用以下方法输入连接字符串:

  • 使用下拉箭头选择一个现有连接。

  • 使用下拉箭头选择“<添加新连接...>”

在 Visual Studio 中,此属性连接到“服务器资源管理器”。在“服务器资源管理器”中指定的连接字符串出现在此属性中,在此属性中指定的连接字符串出现在“服务器资源管理器”中。

有关更多信息,请参见数据绑定生成器

数据绑定生成器

无默认值。

Select 查询

用于从数据源检索数据的 select 查询。指定 select 语句后,“生成器输出”列将用 select 查询所返回的列名称进行更新。该查询返回的所有列都必须有一个名称或别名,只有这样,这些列对于数据生成才是有效的。然后您必须在“生成器输出”列中选择需要的列。有关更多信息,请参见本主题前面提到的生成器输出列。

警告:

恶意用户可能会在该属性中输入任意 Transact-SQL (T-SQL)。有关更多信息,请参见数据生成器的安全性

数据绑定生成器

无默认值。

后续步骤

至此,您已经指定了要生成的数据的详细信息,现在您可以预览和生成数据。有关更多信息,请参见如何:预览数据生成计划如何:运行数据生成计划以生成数据

安全性

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

请参见

任务

演练:创建和运行数据生成计划

其他资源

生成数据概述

使用标准数据生成器

创建自定义数据生成器

数据生成器演练