Обновление SQL Server с 2014 по 2017 и последовательные номера - PullRequest
0 голосов
/ 26 октября 2018

Один из моих пользователей запустил следующий код

set nocount on;

with R0 as
(
    select 1 as f1 
    union all 
    select 1 
    union all 
    select 1 
    union all 
    select 1 
    union all 
    select 1
),
R1 as (select a.f1 as f1 from R0 a cross join R0 b),
R2 as (select a.f1 as f1 from R1 a cross join R1 b),
R3 as (select a.f1 as f1 from R2 a cross join R2 b)
select top 350000 f1 
into t1 
from R3
go 

set nocount off 

declare @v1 int = 12345 

update a 
set @v1 = a.f1 = @v1+1
from t1 a
GO 

select * from t1 order by 1 

drop table t1

В SQL Server 2014 он получил числа последовательно;как это:

12346
12347
12348

Но в SQL Server 2017 он получает следующие результаты:

12346
12346
12346
12346
12346
12346
12346
12346
12346
12346
12347
12347
12347

и т. д.

Я думал, что это из-за IDENTITY_CACHE, но оказалось, чтовыключен с теми же результатами.

Также попытался установить CU12 на экземпляр, но тот же эффект.

Есть предложения?

...