成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server 2005 SysAdmin 登錄審計的詳細介紹

數據庫 SQL Server
此文章主要向大家描述的是SQL Server 2005 SysAdmin 登錄審計,以及對連接兩個視圖獲得成員的實際應用代碼的描述。

以下的文章主要向大家描述的是SQL Server 2005 SysAdmin 登錄審計,如果是以sysadmin角色的成員在SQL Server數據庫中出現時,我都有審計這一過程的想法。審計所有成功的登錄可以提供信息,然而,它記錄每一次連接。

Sysadmin登錄在一片喧鬧聲中正失去它自己的地位。我該怎樣做才能只通過SQL Server 2005 sysadmin登

 

無論何時以sysadmin角色的成員登錄到我的SQL Server中,我都想審計這一過程。審計所有成功的登錄可以提供信息,然而,它記錄每一次連接。Sysadmin登錄在一片喧鬧聲中正失去它自己的地位。我該怎樣做才能只通過sysadmin登錄到我的SQL Server實例呢?

 

專家解答

在SQL Server 2005 Service Pack 2中,微軟把登錄觸發器引入到核心功能中。與DDL和DML觸發器一樣,這些觸發器在特定的事件上被激活,在這個例子中,無論何時登錄到SQL Server實例中,它都會被激活。當某個特定角色的成員登錄時,比如syadmin固定服務器角色,我們可以使用一個登錄觸發器來審計。

為了審計SQL Server 2005 sysadmin固定服務器角色的成員,我們需要使用兩個系統視圖:sys.server_role_members 和 sys.server_principals。當登錄事件發生時,我們將連接這兩個視圖來確定這個登錄是不是sysadmin角色的成員。我們可通過如下連接兩個視圖來得到這些成員:

  1. SELECT sp.principal_id   
  2. FROM sys.server_role_members srm   
  3. INNER JOIN sys.server_principals sp   
  4. ON srm.member_principal_id = sp.principal_id   
  5. WHERE srm.role_principal_id = (   
  6. SELECT principal_id   
  7. FROM sys.server_principals   
  8. WHERE [Name] = 'sysadmin')   

這個查詢將是我們登錄觸發器的基礎。通過在我們代碼的最后一部分增加一個AND從句,我們可以測試引入的登錄是否是SQL Server 2005 sysadmin固定服務器角色的成員。

當事件發生時,我們也需要一些空間來記錄這些事件。其中最簡單的方法是在一個工作數據庫中使用一張表來達到這個目的。考慮到這些例子的目的性,我將假設這張表能夠以DBAWork名義存儲在一個DBA數據庫中。以下是相應的代碼:

  1. CREATE TABLE dbo.AuditSysAdminLogin   
  2. (AuditEventId INT IDENTITY(1,1) NOT NULL,   
  3. EventTime DATETIME NOT NULL,   
  4. ServerLogin NVARCHAR(100) NOT NULL,   
  5. CONSTRAINT PK_AuditSysAdminLogin PRIMARY KEY CLUSTERED (AuditEventID));   
  6. GO   

一旦我們有了審計表,我們就可以創建自己的登錄觸發器。登錄觸發器的基本句法和DDL觸發器的句法相類似,如下顯示:

  1. CREATE TRIGGER   
  2. ON ALL SERVER   
  3. FOR LOGON   
  4. AS   

按照這種格式和使用以上確定的查詢來確定哪一個是SQL Server 2005 SysAdmin角色的成員,那么我們缺少的唯一方面是確認登錄的一種方式。這里有一個系統功能ORIGINAL_LOGIN(),它提供了相關的信息,現在把它放在一起,那么下面就是我們的登錄觸發器:

  1. USE master;   
  2. GO   
  3. CREATE TRIGGER trigLogon_CheckForSysAdmin   
  4. ON ALL SERVER   
  5. FOR LOGON   
  6. AS   
  7. BEGIN   
  8. IF EXISTS (   
  9. SELECT sp.principal_id   
  10. FROM sys.server_role_members srm   
  11. JOIN sys.server_principals sp   
  12. ON srm.member_principal_id = sp.principal_id   
  13. WHERE role_principal_id = (   
  14. SELECT principal_id   
  15. FROM sys.server_principals   
  16. WHERE NAME = 'sysadmin')   
  17. AND ORIGINAL_LOGIN() = sp.NAME)   
  18. BEGIN   
  19. INSERT INTO DBAWork.dbo.AuditSysAdminLogin   
  20. (EventTime, ServerLogin)   
  21. VALUES   
  22. (GETDATE(), ORIGINAL_LOGIN())   
  23. END;   
  24. END;   
  25. GO   

以上的相關內容就是對SQL Server 2005 SysAdmin登錄審計的介紹,望你能有所收獲。

【編輯推薦】

  1. SQL Server數據庫Processor Affinity概述
  2. 破解SQL Server占內存過多很簡單!
  3. SQL Server 2005快照與查詢的使用場景
  4. SQL Server拆分字符串的3常用種方法
  5. SQL Server2005插入漢字變問號的破解
責任編輯:佚名 來源: 清華大學出版社
相關推薦

2010-07-16 14:08:39

SQL Server

2010-10-21 16:10:08

2010-07-12 14:06:12

SQL Server代

2010-06-28 15:06:04

SQL Server

2011-08-15 15:40:57

SQL Server 系統數據庫

2010-06-17 15:09:49

SQL Server

2010-07-23 13:09:35

SQL Server回

2011-02-28 17:41:20

SQL Server

2011-08-25 15:19:25

SQL Server 排序規則

2010-07-23 12:55:29

SQL Server

2011-08-18 18:03:32

手動卸載SQL Ser

2009-09-08 13:07:15

介紹Linq to S

2010-07-09 11:06:13

SQL Server

2010-10-21 15:13:20

SQL Server系

2010-06-30 08:34:27

SQL Server

2011-03-29 15:27:26

SQL Server 動態管理

2023-03-31 14:15:57

SQLORDER BY

2011-03-28 10:17:39

sql server

2011-07-14 08:56:34

Sql Server

2011-09-01 16:13:37

Visual StudSQL Server 存儲過程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产欧美一区二区三区日本久久久 | 在线观看国产视频 | 午夜天堂精品久久久久 | 一级片子 | 久久中文字幕一区 | 日韩免费看片 | 亚洲 欧美 另类 综合 偷拍 | 久久国产婷婷国产香蕉 | 91网在线播放| 在线小视频 | 日韩在线一区二区三区 | 久久久高清 | 亚洲欧美日韩电影 | 久草网址| 在线视频中文字幕 | 日韩精品久久一区二区三区 | 久久亚洲国产 | 一区二区精品 | 欧美一区二区三区 | 人人草人人干 | 久久精品国产一区二区三区不卡 | 国产一区二区在线免费视频 | 欧美一级大片免费看 | 日韩视频一区在线观看 | 国产区视频在线观看 | 亚洲成人一区二区 | 天天天操| 91av亚洲 | 亚洲精品久久久久久国产精华液 | 日韩av啪啪网站大全免费观看 | 国产日韩欧美激情 | 久久99精品久久久久久噜噜 | 欧美在线观看黄色 | 97精品超碰一区二区三区 | 2019天天操 | 精品成人在线观看 | 国产精品一区二区在线 | 亚洲成人一区二区三区 | 国产一区二区三区在线 | 一级a性色生活片久久毛片 一级特黄a大片 | 免费看的黄网站 |