【发布时间】:2017-02-15 21:47:07
【问题描述】:
当我尝试删除内存优化表时出现此错误。我正在使用 sql server 2016 sp1
内存优化表不支持 DDL 语句 CREATE、ALTER 和 DROP 上的数据库和服务器触发器。
我已删除 sec 策略和 2nd 索引。我不能删除 spidfilter,因为你必须有 1 个 MOT 索引。只是看看这是否有所作为。它没有。
代码如下:
create table dbo.MOT_tmpTableName
(
Col1 int,
Col2 int,
Col3 smalldatetime,
Col4 smalldatetime,
Col5 varchar(25),
Col6 date,
Col7 smallint,
Col8 smallint,
Col9 smallint,
Col10 smallint,
SpidFilter smallint not null DEFAULT (@@spid),
index nIX_SpidFilter nonclustered (SpidFilter),
index nIX_Col1_Col2_Col3 nonclustered (Col1, Col2, Col3),
CONSTRAINT CHK_MOT_tmpTableName_SpidFilter
CHECK ( SpidFilter = @@spid ),
)
WITH
(MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_ONLY);
go
create security policy dbo.MOT_tmpTableName_SpidFilter_Policy
ADD FILTER PREDICATE dbo.fn_SpidFilter(SpidFilter) ON dbo.MOT_tmpTableName
WITH (STATE = ON);
go
我已经问过,其他环境没有这个问题。我无法忘记“数据库和服务器触发器......”。触发什么触发器导致错误?
【问题讨论】:
标签: sql sql-server-2016