E só utilizo esse comando por ser muito rápido e eficiente.

No query analizer coloque:

Código:
begin tran
delete memb_info
from
(
select memb___id from memb_stat where getdate()-DisConnectTM>365 --(Numero de dias que a conta esta inativa)
) tbl
where memb_info.memb___id = tbl.memb___id collate database_default
commit
Mude o que está em vermelho para quantos dias quiser.

Depois rode esse comando no query analizer mesmo:

Código:
delete from warehouse where not exists ( select memb___id from memb_info where memb_info.memb___id=warehouse.accountid collate database_default)
delete from character where not exists ( select memb___id from memb_info where memb_info.memb___id=character.accountid collate database_default)
delete from accountcharacter where not exists ( select memb___id from memb_info where memb_info.memb___id=accountcharacter.id collate database_default)
delete from vi_curr_info where not exists ( select memb___id from memb_info where memb_info.memb___id=vi_curr_info.memb___id collate database_default)
delete from memb_stat where not exists ( select memb___id from memb_info where memb_info.memb___id=memb_stat.memb___id collate database_default)

DELETE Optiondata where (SELECT COUNT(*) FROM character where name = optiondata.Name )=0
Testado e aprovado.

T+