日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
SQLServer2005SysAdmin登錄審計(jì)的詳細(xì)介紹

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

創(chuàng)新互聯(lián)是專業(yè)的包河網(wǎng)站建設(shè)公司,包河接單;提供成都做網(wǎng)站、成都網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行包河網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

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

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

專家解答

在SQL Server 2005 Service Pack 2中,微軟把登錄觸發(fā)器引入到核心功能中。與DDL和DML觸發(fā)器一樣,這些觸發(fā)器在特定的事件上被激活,在這個(gè)例子中,無(wú)論何時(shí)登錄到SQL Server實(shí)例中,它都會(huì)被激活。當(dāng)某個(gè)特定角色的成員登錄時(shí),比如syadmin固定服務(wù)器角色,我們可以使用一個(gè)登錄觸發(fā)器來(lái)審計(jì)。

為了審計(jì)SQL Server 2005 sysadmin固定服務(wù)器角色的成員,我們需要使用兩個(gè)系統(tǒng)視圖:sys.server_role_members 和 sys.server_principals。當(dāng)?shù)卿浭录l(fā)生時(shí),我們將連接這兩個(gè)視圖來(lái)確定這個(gè)登錄是不是sysadmin角色的成員。我們可通過如下連接兩個(gè)視圖來(lái)得到這些成員:

 
 
 
  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') 

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

當(dāng)事件發(fā)生時(shí),我們也需要一些空間來(lái)記錄這些事件。其中最簡(jiǎn)單的方法是在一個(gè)工作數(shù)據(jù)庫(kù)中使用一張表來(lái)達(dá)到這個(gè)目的??紤]到這些例子的目的性,我將假設(shè)這張表能夠以DBAWork名義存儲(chǔ)在一個(gè)DBA數(shù)據(jù)庫(kù)中。以下是相應(yīng)的代碼:

 
 
 
  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 

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

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

按照這種格式和使用以上確定的查詢來(lái)確定哪一個(gè)是SQL Server 2005 SysAdmin角色的成員,那么我們?nèi)鄙俚奈ㄒ环矫媸谴_認(rèn)登錄的一種方式。這里有一個(gè)系統(tǒng)功能ORIGINAL_LOGIN(),它提供了相關(guān)的信息,現(xiàn)在把它放在一起,那么下面就是我們的登錄觸發(fā)器:

 
 
 
  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 

以上的相關(guān)內(nèi)容就是對(duì)SQL Server 2005 SysAdmin登錄審計(jì)的介紹,望你能有所收獲。


當(dāng)前標(biāo)題:SQLServer2005SysAdmin登錄審計(jì)的詳細(xì)介紹
鏈接地址:http://m.5511xx.com/article/cohopos.html