SQL Server: ensure primary key uniqueness over two tables
For performance in this scenario, you should consider Filtered Index.

It looks like it is ideal solution for your case. Just filter only events with appropiate status and index will be small and fast.

Other pros will be minimal effort to implement this solution (add new index).