Làm cách nào để tìm ngày mật khẩu đăng nhập được thay đổi lần cuối trong SQL Server 2008?


7

Tôi đang chuyển các thủ tục được lưu trữ từ Sybase 15 sang SQL Server 2008.

Trong Sybase, tuyên bố này sẽ xác định ngày hết hạn bằng cách thêm một số ngày vào syslogins.pwdate (Ngày mật khẩu được thay đổi lần cuối) và hoạt động tốt:

SELECT @l_pwd_date = dateadd( day, @l_pwd_max_expire, pwdate)
FROM master.dbo.syslogins
WHERE name = @v_user

... nhưng ném lỗi này khi cố gắng biên dịch nó trong SQL Server 2008:

Msg 207, Cấp 16, Bang 1, Dòng 21 Tên cột không hợp lệ 'pwdate'.

syslogins trong SQL Server 2008 không còn bao gồm cột pwdate đó.

Có ai biết nơi tôi có thể tìm thấy cột tương đương trong SQL Server 2008 hoặc một cách giải quyết để tìm ngày mật khẩu đăng nhập được thay đổi lần cuối không?


1
FYI, syslogins không được dùng cho sys.server_principals mà vẫn không có nó. Cũng không sys.sql_logins
gbn

Câu trả lời:


20

Sử dụng tùy chọn PasswordLastSetTime của LOGINPROPERTY .

SELECT LOGINPROPERTY('YourLoginName', 'PasswordLastSetTime');

1
Trân trọng thời gian Joe, cảm ơn; nó hoạt động tốt Dành cho những người sử dụng xác thực tích hợp windows, nó sẽ trả về NULL vì login_name phải là tên của đăng nhập SQL Server.
Chỉ có bạn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.