SQL Server Management Studio で保守計画を作成しようとしています。このメンテナンス プランでは、ユーザーが退職したかどうかを確認した後、ユーザー アカウントをステータス = 0 (非アクティブ) に更新する必要があります。
メンテナンス プラン ウィザードについては既に説明済みです。
-- Script to inactivate all users even if they are active
UPDATE USERS SET ACCOUNTSTATUS= 0 WHERE ACCOUNTSTATUS = 1
これはほんの始まりに過ぎないことはわかっています。特定のテーブルをチェックして、ユーザーがアクティブでないかどうかを確認できるようにする SQL ステートメントを作成する必要があります。アクティブでない場合、メンテナンス プランが実行され、アプリケーションからアカウントが非アクティブ化されます。
更新: これの要件は、非アクティブ化されたユーザーのリストと共に送信される電子メールも実装することです。これを行うには、メンテナンス プランを使用する場合と最終的に同じになるジョブを作成する必要があります。この後の次のステップは何ですか?これが私が使用する予定の TRIGGER UPDATE です。
CREATE TRIGGER trg_UpdateUser on dbo.USERS
AFTER UPDATE AS
BEGIN
UPDATE dbo.USERS
SET ACCOUNTSTATUS = em.ACCOUNTSTATUS
FROM dbo.USERDETAILS AS ud ()
INNER JOIN Inserted AS em
on ud.ACCOUNTSTATUS = em.ACCOUNTSTATUS
END
GO