【Transact-SQL】GRANT / REVOKE / USER / ROLE / AUDIT

GRANT  https://docs.microsoft.com/zh-cn/sql/t-sql/statements/grant-transact-sql?view=sql-server-ver15

REVOKE https://docs.microsoft.com/zh-cn/sql/t-sql/statements/revoke-transact-sql?view=sql-server-ver15

CREATE USER https://docs.microsoft.com/zh-cn/sql/t-sql/statements/create-user-transact-sql?view=sql-server-ver15

CREATE ROLE https://docs.microsoft.com/zh-cn/sql/t-sql/statements/create-role-transact-sql?view=sql-server-ver15

AUDIT https://docs.microsoft.com/zh-cn/sql/relational-databases/security/auditing/sql-server-audit-database-engine?view=sql-server-ver15



--沒有登錄名的用戶。 不能登錄,但可以被授予權限。 
--REF:https://docs.microsoft.com/zh-cn/sql/t-sql/statements/create-user-transact-sql?view=sql-server-ver15

CREATE USER U1 WITHOUT LOGIN;
CREATE USER U2 WITHOUT LOGIN;
CREATE USER U3 WITHOUT LOGIN;
CREATE USER U4 WITHOUT LOGIN;
CREATE USER U5 WITHOUT LOGIN;
CREATE USER U6 WITHOUT LOGIN;
CREATE USER U7 WITHOUT LOGIN;

--[例4.1] 把查詢Student表權限授給用戶U1

GRANT    SELECT 
ON       Student 
TO       U1;

--[例4.2] 把對Student表和Course表的全部權限授予用戶U2和U3
      GRANT ALL PRIVILEGES
      ON Student 
      TO U2,U3;

      GRANT ALL PRIVILEGES
      ON Course 
      TO U2,U3;
ALL 權限已不再推薦使用,並且只保留用於兼容性目的。它並不表示對實體定義了 ALL 權限。

 

--[例4.3] 把對錶SC的查詢權限授予所有用戶

     GRANT SELECT 
     ON  SC 
     TO PUBLIC;

--[例4.4] 把查詢Student表和修改學生學號的權限授給用戶U4
  
	  	GRANT UPDATE(Sno), SELECT 
		ON  Student 
		TO U4;
--[例4.5] 把對錶SC的INSERT權限授予U5用戶,並允許他再將此權限授予其他用戶
     
    GRANT INSERT 
    ON  SC 
    TO U5
    WITH GRANT OPTION;
--[例4.6] 
GRANT INSERT 
ON  SC 
TO U6
WITH GRANT OPTION;

 --[例4.7] 
GRANT INSERT 
ON  SC 
TO U7;

 


AUDIT

ref:https://blog.csdn.net/DBA_Huangzj/article/details/79033953?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

USE Master 
GO 
--創建名爲Audit-Test的服務器審覈
--https://blog.csdn.net/DBA_Huangzj/article/details/79033953?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

CREATE SERVER AUDIT [Audit-Test] 
TO FILE		--以文件形式存儲
( 
        FILEPATH = 'D:\'					--注意替換路徑爲實際路徑
        ,MAXSIZE = 256 MB					--每個文件最大256MB
        ,MAX_ROLLOVER_FILES = 2147483647	--指定文件數目,2147483647爲最高值,只有取消選中“無限制”時纔可用
        ,RESERVE_DISK_SPACE = OFF			--不預先分配磁盤空間
)
WITH 
( 
        QUEUE_DELAY = 1000		--延時1秒寫入
        ,ON_FAILURE = CONTINUE	--如果發生錯誤,繼續進行
) 

WHERE object_name = 'sysadmin' ; --只對對象名爲sysadmin的活動進行記錄 

--記得啓用審覈
ALTER SERVER AUDIT [Audit-Test] WITH (STATE = ON) ; 

 

 

 

DROP SERVER AUDIT [Audit-Test]
此命令要求禁用審覈。請禁用審覈,然後重新運行此命令。
ALTER SERVER AUDIT [Audit-Test] WITH (STATE = OFF) ; 
DROP SERVER AUDIT [Audit-Test]

先禁用審覈,再刪除就可以了,進一步可以刪除磁盤裏的 審計文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章