ストアドプロシージャをSybase 15からSQL Server 2008に移植しています。
Sybaseでは、このステートメントは、syslogins.pwdate(パスワードが最後に変更された日付)に日数を追加して有効期限を計算し、正常に機能します。
SELECT @l_pwd_date = dateadd( day, @l_pwd_max_expire, pwdate)
FROM master.dbo.syslogins
WHERE name = @v_user
...しかし、SQL Server 2008でコンパイルしようとすると、次のエラーがスローされます。
メッセージ207、レベル16、状態1、行21無効な列名 'pwdate'。
SQL Server 2008のsyslogins
には、その列pwdateが含まれなくなりました。
SQL Server 2008で同等の列がどこにあるのか、またはログインパスワードが最後に変更された日付を見つけるための回避策を知っている人はいますか?
[〜#〜] loginproperty [〜#〜] のPasswordLastSetTimeオプションを使用します。
SELECT LOGINPROPERTY('YourLoginName', 'PasswordLastSetTime');