2008-12-12

SQL Server 登入帳戶的建立時間、修改時間;Login Account、create date、modify date


剛好有朋友在詢問:如何查詢帳戶是何時被建立、修改等等相關資訊。

或許可以利用安全性目錄檢視:sys.server_principals 來查詢取得所需要的資料。

適用版本:SQL Server 2005/2008。

範例如下:
USE master
GO

-- 檢視每一個伺服器層級的主體
SELECT * FROM sys.server_principals

-- 建立與修改登入帳戶:su01
CREATE LOGIN [su01]
WITH PASSWORD=N'P@ssw0rd', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON
GO
-- 延遲 10 秒鐘
WAITFOR DELAY '00:00:10';
GO
ALTER LOGIN [su01] WITH PASSWORD=N'P@ssw0rd999'
GO

--
SELECT name N'主體',type_desc N'主體類型的描述', is_disabled N'1 = 登入已停用',create_date N'建立時間', modify_date N'修改時間'
,sid N'SID (安全性識別碼)'
FROM sys.server_principals
WHERE type IN('S','U','G')
ORDER BY 1

/* WHERE 條件式的說明:
S:SQL_LOGIN
U:WINDOWS_LOGIN
G:WINDOWS_GROUP
*/


請參考下圖所示:



參考資料:
sys.server_principals (Transact-SQL)
http://msdn.microsoft.com/zh-tw/library/ms188786.aspx

1 則留言:

  1. 稽核要知道帳號是何時建立
    我就要出報表給稽核
    這個就是我要的功能,謝謝

    回覆刪除