Sql server SQL server的数据生成器?

Sql server SQL server的数据生成器?,sql-server,generator,data-generation,Sql Server,Generator,Data Generation,我希望收到有关SQL server可用数据生成器的建议。如果发布回复,请提供您认为重要的功能 我从来没有使用过这样的应用程序,所以我希望在这方面受到教育。多谢各位 (我的目标是在每个表中用10000多条记录填充数据库,以测试应用程序。)我过去使用过。也许值得一看 第三方编辑 如果不注册,则只能生成100行。在下面,您可以找到今天(2016年10月)界面的外观示例 我以前用过这个 但这不是免费的 Ref完整性检查非常重要,否则如果不关联相关数据,您的测试将不好。(在大多数情况下)这里也提出了类似

我希望收到有关SQL server可用数据生成器的建议。如果发布回复,请提供您认为重要的功能

我从来没有使用过这样的应用程序,所以我希望在这方面受到教育。多谢各位

(我的目标是在每个表中用10000多条记录填充数据库,以测试应用程序。)

我过去使用过。也许值得一看

第三方编辑 如果不注册,则只能生成100行。在下面,您可以找到今天(2016年10月)界面的外观示例


我以前用过这个

但这不是免费的


Ref完整性检查非常重要,否则如果不关联相关数据,您的测试将不好。(在大多数情况下)

这里也提出了类似的问题:


在这方面做得很好。您可以自定义数据库的每个字段,并使用带有种子的随机数据。甚至可以使用正则表达式创建特定的模式。

VisualStudioTeamSystemDatabaseEdition(又名DataDude)可以做到这一点

我还没有将其用于数据生成,但有两个功能听起来不错:

  • 为随机数据生成器设置自己的种子值。这允许您多次提示相同的随机数据

  • 将向导指向“真实”数据库,让它生成看起来像真实数据的内容


  • 也许这些是其他地方的标准功能?

    对于生成示例数据,我使用简单的Python应用程序

    考虑事项:

  • 易于修改和配置

  • 一组可重复的数据,可用于性能测试并获得一致的结果

  • 遵循所有DB引用完整性规则和约束

  • 现实数据

  • 前两个表示您希望生成将加载数据的脚本文件。第三个更难。有多种方法可以发现数据库元数据和约束。把3和4放在一起看,你不需要简单的逆向工程——你需要一些你可以控制的东西来产生现实的价值

    通常,您希望构建自己的实体模型,以便确保范围和键关系正确

    你可以用三种方法来做

  • 生成可手动加载的CSV数据文件。好的可重复的测试数据

  • 生成可以运行的SQL脚本。还有很好的可重复数据

  • 使用ODBC连接将数据直接生成到数据库中。我其实不太喜欢这个,但你可以

  • 这是一个精简版的数据生成器,它只包含一个表,可以写入CSV文件

    import csv
    import random
    
    class SomeEntity( list ):
        titles = ( 'attr1', 'attr2' ) # ... for all columns
        def __init__( self ):
            self.append( random.randrange( 1, 10 ) )
            self.append( random.randrange( 100, 1000 ) )
            # ... for all columns
    
    myData = [ SomeEntity() for i in range(10000) ]
    aFile= open( 'tmp.csv', 'wb' )
    dest= csv.writer( aFile )
    dest.writerow( SomeEntity.titles )   
    dest.writerows( myData )
    aFile.close()
    
    对于多个实体,必须计算基数。您希望从其他实体中进行随机选择,而不是生成随机关键帧。因此,您可以让ChildEntity从ParentEntity中选择一个随机元素,以确保FK-PK关系是正确的

    使用
    random.choice(someList)
    random.shuffle(someList)
    来确保引用的完整性。

    我使用了一个为此而命名的工具

    我喜欢这个工具的一些方面:

  • 使用ODBC,以便可以将数据生成到任何ODBC数据源中。我已经将其用于Oracle、SQL和MS Access数据库、平面文件和Excel电子表格
  • 可通过VBScript扩展。您可以在数据生成工作流的各个部分编写挂钩,以扩展该工具的功能
  • 有参考意识的。填充外键列时,从父表中提取有效键

  • 我已经推出了自己的数据生成器,它可以生成符合正则表达式的随机数据。它变成了一个学习项目(正在开发中),可以在上找到。

    我刚刚发现了一个:

    这一个是免费的:
    包含多个功能,如:数据生成器、全文搜索、创建数据库文档、活动数据库连接

    您感兴趣的任何特定功能?我从来没有用过它。这适用于SQL Server 2000和2005吗?这会创建CSV文件——你可以将它创建的文件加载到地球上几乎任何数据库中。很好。便宜的。容易的。我喜欢:)并且可以合理地扩展。您仍然需要对每个实体类进行建模,这需要“思考”。但是代码量很低,运行速度很快,而且您拥有这些文件。您可以使用架构发现来启动该过程。如果您使用的是.NET,则Bogus提供了一些非常好的功能来完成此操作()。看看这篇博文,了解如何使用它的详细信息:我想在两个表之间添加一个关系;在我的例子中,使用NumberRange(参见
    SchoolId
    -列)就足够了,但是如果您的数据需要的不仅仅是一个简单的数字范围,那么我不清楚您如何实现这一点。这个没有DateTime选项,其余的就好了!如果您使用的是.NET,那么Bogus提供了一些非常好的功能来实现这一点()。有关如何使用它的详细信息,请查看此博客帖子: