你可以使用這個腳本來獲取時,用戶的密碼將作爲SQL代理作業或SSIS包的一部分到期(如果你需要更復雜的處理):
USE [master]
GO
SELECT [name] AS [sa]
,LOGINPROPERTY([name], 'PasswordLastSetTime') AS [PasswordLastResetDT]
,DATEDIFF(DAY, CONVERT([datetime],LOGINPROPERTY([name],'PasswordLastSetTime')),GETDATE()) AS [DaysUntilExpiration]
,LOGINPROPERTY([name], 'BadPasswordCount') AS [BadPasswordCount]
,LOGINPROPERTY([name], 'BadPasswordTime') AS [BadPasswordDT]
,LOGINPROPERTY([name], 'HistoryLength') AS [HistoryLength]
,LOGINPROPERTY([name], 'IsExpired') AS [IsExpired]
,LOGINPROPERTY([name], 'IsLocked') AS [IsLocked]
,LOGINPROPERTY([name], 'IsMustChange') AS [IsMustChange]
,LOGINPROPERTY([name], 'LockoutTime') AS [LockoutTime]
FROM [sys].[sql_logins]
GROUP BY [name]
之後,你以某種方式需要用戶關聯名稱和密碼,並在密碼過期前發送電子郵件。
這是一個正常的程序?我的意思是,每個開發都必須在審計需要這樣的標準的情況下做到嗎?另外,我將如何檢查密碼的長度和標準? –
將取決於你的系統是如何構建的。您是否允許用戶直接訪問數據庫。我使用特殊的內部網站來允許用戶更改密碼,並擁有我自己的優秀提供者。這使我可以輕鬆控制過期和密碼複雜性。 –
如果你不介意,你能告訴我你的工作的任何代碼嗎? –