我创建了服务器范围 ddl 触发器来审核服务器上的用户活动。
现在,如果有人尝试创建内存表,则该语句将失败并出现以下错误:
Error SQL72014: .Net SqlClient Data Provider: Msg 12332, Level 16, State 107,
Line 1 Database and server triggers on DDL statements DROP and CREATE are not
supported with memory optimized tables.
我可以创建忽略内存表操作的 ddl 触发器吗?
不,启用内存中 OLTP 的数据库不支持 DDL 触发器。
您不能在启用了 In-Memory OLTP 的数据库中创建 DDL 触发器,因为运行触发器所需的代码路径会干扰 In-Memory 功能。解决方法是将所有 In-Memory OLTP 表放入一个没有 DDL 触发器的数据库中,将其余表放入一个没有内存优化表的单独数据库中,并在那里启用 DDL 触发器。