Sql server Microsoft SQL Server算术溢出在数据库的一个实例中,而不是在另一个实例中使用幂函数

Sql server Microsoft SQL Server算术溢出在数据库的一个实例中,而不是在另一个实例中使用幂函数,sql-server,sql-server-2005,Sql Server,Sql Server 2005,在我的数据库本地副本上,下面的代码有时会生成算术溢出错误,有时还会生成域错误。当我在服务器上运行相同的代码时,它不会生成错误。我完全困惑了 在下面的代码中,我创建了要在联接中使用的表,然后创建了一个循环来大量重复联接 create table x(a smallint) declare @a smallint set @a = 1990 while @a <= 2012 begin insert into x select @a as a set @a=@a+1

在我的数据库本地副本上,下面的代码有时会生成算术溢出错误,有时还会生成域错误。当我在服务器上运行相同的代码时,它不会生成错误。我完全困惑了

在下面的代码中,我创建了要在联接中使用的表,然后创建了一个循环来大量重复联接

create table x(a smallint)
declare @a smallint
set @a = 1990

while @a <= 2012
begin

    insert into x
    select @a as a
    set @a=@a+1

end


declare @i int
set @i = 0

while @i < 200000
begin

    select

        0.0 + cast(power(cast(0.7000000 as float),  abs(y.a- b.a)) as decimal(10, 7)) as w

    into #x
    from x y
    inner join x b on b.a between y.a - 4 and y.a + 4

    drop table #x

    print(@i)
    set @i = @i+1

end
创建表x(一个smallint)
声明@a smallint
设置@a=1990

在进一步查找问题之前,@a使用Visual studio中的架构比较来消除架构和数据库属性的差异。我已检查了数据库属性并比较了架构。两者似乎都不是问题所在。