2015-09-07 53 views
0

我想獲得有關使用當前用戶權限的信息:如何檢查當前用戶是否有權在當前數據庫上創建DDL觸發器?

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

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

,這是工作的罰款。

CREATE TRIGGER的正確語法是什麼?

我已經試過:沒有運氣

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

和一些變化。我正在使用SQL Server 2012.

謝謝。

回答

3

CREATE TRIGGER權限不存在。

檢查this page以查看允許使用CREATE TRIGGER所需的權限。

要創建DML觸發器,需要對錶或正在創建觸發器的視圖 的ALTER權限。

要創建一個具有 服務器範圍(ON ALL SERVER)的DDL觸發器或登錄觸發器需要服務器上的CONTROL SERVER權限。使用數據庫 作用域(ON DATABASE)創建DDL觸發器需要在當前數據庫中修改任何數據庫DDL觸發器權限 。

+0

我打算髮布完全相同的東西:-) –

+0

謝謝。把ALTER ANY DATABASE DDL TRIGGER而不是CREATE TRIGGER搞定了。 – Fjut

相關問題