【发布时间】:2014-02-06 07:47:20
【问题描述】:
我必须创建一个示例数据库并创建 10-15 个演出的事务工作负载。 知道如何生成此负载吗?它可能位于具有单个表的空数据库或 AdventureWorks 数据库上。我所需要的只是事务在很长一段时间内不断插入或修改数据。
提前谢谢大家,
【问题讨论】:
标签: sql sql-server sql-server-2008 tsql sql-server-2005
我必须创建一个示例数据库并创建 10-15 个演出的事务工作负载。 知道如何生成此负载吗?它可能位于具有单个表的空数据库或 AdventureWorks 数据库上。我所需要的只是事务在很长一段时间内不断插入或修改数据。
提前谢谢大家,
【问题讨论】:
标签: sql sql-server sql-server-2008 tsql sql-server-2005
可以创建一个表并使用 while 循环加载它。我相信 Master.dbo.spt_values (可能表名错误)有一个数字列表,但最简单的方法是这样的:
Declare @MyRow as bigint = 0
Create table dbo.StupidBigTable ( obj_id bigint identity(1,1),
StupidBigField nchar(1024) )
While @MyRow <= 999999999 --I don't remember how big bigint can get
Begin
Insert into dbo.StupidBigTable (StupidBigField)
Cast(@MyRow as nchar)
Set @MyRow = @MyRow + 1
End
我还没有真正计算过,但是 char(1024) 应该占用 1024 个字节,所以 nchar(1024) 应该占用 2048 个字节。这将是每行至少 2KB,然后乘以 999999999 或其他值。
哦,您不能使用 SQL Express 创建大于 10GB 的数据库。不知道你的设置,但值得一提。
【讨论】: