发生这种情况时,您没有重新启动SQL Server吗?你的系统一定有点不一样,因为我根本无法复制。。。您可以演示如何插入这19行吗?请注意,无间隙标识会造成严重的性能问题。顺便问一下,您是否更改了连接池的默认大小? CREATE TABLE [dorkOr

发生这种情况时,您没有重新启动SQL Server吗?你的系统一定有点不一样,因为我根本无法复制。。。您可以演示如何插入这19行吗?请注意,无间隙标识会造成严重的性能问题。顺便问一下,您是否更改了连接池的默认大小? CREATE TABLE [dorkOr,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,发生这种情况时,您没有重新启动SQL Server吗?你的系统一定有点不一样,因为我根本无法复制。。。您可以演示如何插入这19行吗?请注意,无间隙标识会造成严重的性能问题。顺便问一下,您是否更改了连接池的默认大小? CREATE TABLE [dorkOrder] ( [doId] int identity(1,1) NOT NULL, [shId] int NOT NULL, [mopId] int NOT NULL, [dorkOrderNo] varch


发生这种情况时,您没有重新启动SQL Server吗?你的系统一定有点不一样,因为我根本无法复制。。。您可以演示如何插入这19行吗?请注意,无间隙标识会造成严重的性能问题。顺便问一下,您是否更改了连接池的默认大小?
CREATE TABLE [dorkOrder] ( 
    [doId] int identity(1,1)  NOT NULL,
    [shId] int NOT NULL,
    [mopId] int NOT NULL,
    [dorkOrderNo] varchar(20) NULL,
    [doDate] date NULL
);
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
2002
2003
2004
2005
2006
2007
2008
2013
-- Just playing
use tempdb;
go

-- drop existing
if object_id('superbowl_pool') > 0
drop table superbowl_pool
go


-- create new
create table superbowl_pool
(
id int identity (1,1) primary key,
cash smallmoney
);

-- add data
declare @a int = 0;
while (@a < 100)
begin
  insert into superbowl_pool (cash) values (rand(checksum(newid())) * 50);
  set @a += 1;
end
go

-- show the data
select * from superbowl_pool;
-- delete does not reset the counter
delete from superbowl_pool;
go

-- Two records
insert into superbowl_pool (cash) values (rand(checksum(newid())) * 50);
insert into superbowl_pool (cash) values (rand(checksum(newid())) * 50);
go

-- Gaps in id column
delete from superbowl_pool where id = 102;
insert into superbowl_pool (cash) values (rand(checksum(newid())) * 50);

-- show the data
select * from superbowl_pool;
-- truncate table
truncate table superbowl_pool;

-- Two records
insert into superbowl_pool (cash) values (rand(checksum(newid())) * 50);
insert into superbowl_pool (cash) values (rand(checksum(newid())) * 50);
go

-- show the data
select * from superbowl_pool;
-- create ins trigger
create trigger dbo.trg_big_money on dbo.superbowl_pool
FOR INSERT
AS
BEGIN

  IF EXISTS (SELECT * FROM inserted where cash < 20)
      ROLLBACK;
END