• I'd set up a SQL Agent job scheduled for whatever time you need this to happen.

    One step that executes:

    USE <database_name>;

    BEGIN

    ALTER DATABASE <database_name> SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

    ALTER DATABASE <database_name> SET MULTI_USER;

    END

    Quick and dirty, but it works.

    I've also seen an approach that kills sessions in a loop based on the output of sp_who2, but its a complete pita if you have an app that wants to maintain a connection.