Sql 是否可以使用指定数据库的服务器触发器阻止插入到所有表中

Sql 是否可以使用指定数据库的服务器触发器阻止插入到所有表中,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,是否可以使用指定数据库的服务器触发器阻止插入到所有表中如果您希望通过写入服务器触发器防止记录插入到任何表中,则答案是“否”,这是不可能的 服务器触发器仅处理DDL(创建、更改、删除…),而不处理DML(插入、更新、删除): 服务器触发器: -- Trigger on a CREATE, ALTER, DROP, GRANT, DENY, REVOKE, -- or UPDATE STATISTICS statement (DDL Trigger) CREATE TRIGGER tr

是否可以使用指定数据库的服务器触发器阻止插入到所有表中

如果您希望通过写入服务器触发器防止记录插入到任何表中,则答案是“否”,这是不可能的

服务器触发器仅处理DDL(创建、更改、删除…),而不处理DML(插入、更新、删除):

服务器触发器:

-- Trigger on a CREATE, ALTER, DROP, GRANT, DENY, REVOKE,  
--  or UPDATE STATISTICS statement (DDL Trigger)  

CREATE TRIGGER trigger_name   
ON { ALL SERVER | DATABASE }   
[ WITH <ddl_trigger_option> [ ,...n ] ]  
{ FOR | AFTER } { event_type | event_group } [ ,...n ]  
AS { sql_statement  [ ; ] [ ,...n ] | EXTERNAL NAME < method specifier >  [ ; ] }  

<ddl_trigger_option> ::=  
    [ ENCRYPTION ]  
    [ EXECUTE AS Clause ]  



-- Trigger on a LOGON event (Logon Trigger)  

CREATE TRIGGER trigger_name   
ON ALL SERVER   
[ WITH <logon_trigger_option> [ ,...n ] ]  
{ FOR| AFTER } LOGON    
AS { sql_statement  [ ; ] [ ,...n ] | EXTERNAL NAME < method specifier >  [ ; ] }  

<logon_trigger_option> ::=  
    [ ENCRYPTION ]  
    [ EXECUTE AS Clause ]  
——在创建、更改、删除、授予、拒绝、撤销、,
--或更新统计语句(DDL触发器)
创建触发器名称
在{所有服务器|数据库}上
[与[,…n]]
{FOR | AFTER}{event|u type | event|u group}[,…n]
作为{sql_语句[;][,…n]|外部名称<方法说明符>[;]}
::=  
[加密]
[作为第条执行]
--登录事件的触发器(登录触发器)
创建触发器名称
在所有服务器上
[与[,…n]]
{FOR | AFTER}登录
作为{sql_语句[;][,…n]|外部名称<方法说明符>[;]}
::=  
[加密]
[作为第条执行]

太模糊,没有解释为什么需要A)触发器和b)当前角色,程序不足以管理理论表中插入的内容。每个表上都需要一个触发器