如何将巨大的虚拟数据插入到Sql server

目前开发团队已完成其应用程序,并且作为测试人员需要在20个表中插入1000000条记录,以进行性能测试。

我经历了表格,实际上所有表格之间存在关系。

要将那么多虚拟数据插入到表中,我需要在很短的时间内完全理解应用程序,这样我就不会有这样的虚拟数据了。

SQL server中有任何方法可以插入这么多的数据插入可能性。

请分享方法。

  1. 目前我正在计划在excel中创建虚拟数据的可能性,但在这里我不确定表之间的关系。
  2. 在谷歌中发现SQL分析器将提供执行顺序,但等待访问分析这个。
  3. 我在Google中发现的另一件事是可以使用红门工具。

是否有任何脚本或任何其他解决方案以简单的方式执行此任务。

如果这是一个常见问题,我很抱歉,我是第一次在SQL实时场景中工作。 但我对SQL有所了解。

为什么不在SQL Server中生成这些记录。 这是一个生成1000000行表的脚本:

 DECLARE @values TABLE (DataValue int, RandValue INT) ;WITH mycte AS ( SELECT 1 DataValue UNION all SELECT DataValue + 1 FROM mycte WHERE DataValue + 1 <= 1000000 ) INSERT INTO @values(DataValue,RandValue) SELECT DataValue, convert(int, convert (varbinary(4), NEWID(), 1)) AS RandValue FROM mycte m OPTION (MAXRECURSION 0) SELECT v.DataValue, v.RandValue, (SELECT TOP 1 [User_ID] FROM tblUsers ORDER BY NEWID()) FROM @values v 

在表@values中你将有一些随机的int值(列RandValue),它可以用来为其他列生成值。 你也有获得随机外键的例子。

下面是我写的一个简单的程序,用于在表格中插入数百万个虚拟记录,我知道它不是最有效的记录,但是它可以达到一百万条记录的目的,大约需要5分钟。 您需要在执行过程时传递您需要生成的记录数。

 IF EXISTS (SELECT 1 FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[DUMMY_INSERT]') AND type in (N'P', N'PC')) BEGIN DROP PROCEDURE DUMMY_INSERT END GO CREATE PROCEDURE DUMMY_INSERT ( @noOfRecords INT ) AS BEGIN DECLARE @count int SET @count = 1; WHILE (@count < @noOfRecords) BEGIN INSERT INTO [dbo].[LogTable] ([UserId],[UserName],[Priority],[CmdName],[Message],[Success],[StartTime],[EndTime],[RemoteAddress],[TId]) VALUES(1,'user_'+CAST(@count AS VARCHAR(256)),1,'dummy command','dummy message.',0,convert(varchar(50),dateadd(D,Round(RAND() * 1000,1),getdate()),121),convert(varchar(50),dateadd(D,Round(RAND() * 1000,1),getdate()),121),'160.200.45.1',1); SET @count = @count + 1; END END