如何检查当前用户是否有权在当前数据库上创建DDL触发器



我正在尝试获取当前用户的权限信息:

SELECT HAS_PERMS_BY_NAME(DB_NAME(), 'DATABASE', 'CREATE TABLE')
SELECT HAS_PERMS_BY_NAME(DB_NAME(), 'DATABASE', 'CREATE PROCEDURE')

,这是正常工作的

CREATE TRIGGER的正确语法是什么?

I've try:

SELECT HAS_PERMS_BY_NAME(DB_NAME(), 'DATABASE', 'CREATE TRIGGER') 

和一些没有运气的变体。我用的是SQL Server 2012。

谢谢。

CREATE TRIGGER权限不存在。

检查此页面以查看使用CREATE TRIGGER所需的权限。

创建DML触发器需要对表或视图具有ALTER权限

来创建DDL触发器服务器作用域(ON ALL server)或登录触发器需要CONTROL服务器权限。创建一个DDL触发器scope (ON DATABASE)需要ALTER ANY DATABASE DDL TRIGGER权限在当前数据库中。

相关内容

最新更新