在示例数据库上创建工作负载

时间:2014-01-17 04:50:03

标签: sql sql-server sql-server-2008 tsql sql-server-2005

我必须创建一个示例数据库并创建10-15 gigs的事务工作负载。 知道我怎么能产生这种负荷吗?它可能位于具有单个表或AdventureWorks数据库的空数据库中。我所需要的只是交易在很长一段时间内不断插入或修改数据。

提前谢谢大家,

1 个答案:

答案 0 :(得分:1)

可以创建一个表并使用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或其他。

哦,你不能创建一个DB&gt; 10GB使用SQL Express。不知道你的设置,但值得一提。