测试代码如下: declare @i1 int declare @i2 int set @i1=10000 set @i2=0 while @i2<=@i1 begin print cast(@i2 as varchar(20)) set @i2=@i2+1 exec('select 1') end 我在pc机上运行的话,把@i1=1000都会出现这个问题,在服务器上把@i1=1000没事,但@i1=10000就会出现,在线等待求救!
在SQL Server 2000中,尝试执行以下语句:
declare @i int
declare @j int
set @i=10000
set @j=0
while @j<=@i
begin
select cast(@j as varchar(20))
set @j=@j+1
end
执行这条语句,会出现“资源不足,部分结果已被除去”(服务器够牛的话可能不会出现,如果不出现,就尝试修改@i的值,当@i一定大的时候,肯定会出现!这可能跟数据库某些设置有关吧,暂时还不清楚是跟哪有关)