Fala povo.
Estou repassando um script que uso nos meus servidores a anos, qualquer dúvida não deixe de perguntar.
**FAÇA BACKUP SEMPRE ANTES DE UTILIZAR**
Execute todos os comandos no seu SQL utilizando a DB MuOnline.
1º passo - Excluir todas as contas com mais de um ano sem logar
Código:
DELETE from memb_info
WHERE exists
( SELECT memb___id
FROM memb_stat
WHERE memb_info.memb___id = memb_stat.memb___id collate database_default
AND connecttm < getdate()-365 --Mude 365 para os dias que preferir!
)
2º passo - Excluir dados das outras tabelas
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
*Você deve adicionar outras tabelas que você tenha no seu banco, exemplo: EXT_WAREHOUSE
3º Passo - Reduzir o tamanho do banco
O Shrink é um recurso que nos permite reduzir o tamanho dos arquivos do banco de dados. Esta operação pode ser feita em conjunto (banco de dados inteiro), ou em um arquivo específico (dados ou log).
Código:
DBCC SHRINKDATABASE (MuOnline, 10)
Após excluir as contas inativas esse comando vai reduzir seu banco.
Créditos:
Louis
Abraço