SCRIPT QUE PERMITE LIMITAR A QUANTIDADE DE REGISTRO EM TABELA.
Vale a pena lembra que de posse deste script ele pode vira :
Um job e ser rodado de quando em quando, podendo exceder quantidade de registro durante um tempo. <<< Ser não for problemático acho o melhor >>
Ou ser criado uma trigger que fique analisando a quantidade de registro para dispara o mecanismo com lembro que isso representa mais uma condição para realizar a gravação.
La vai o script.
use <<SEU BANCO>>
-- Declare a variavel que sera usada.
DECLARE @quant_no_banco int;
DECLARE @quant_deletar int;
DECLARE @max_registro int;
-- Inicie a variavel que sera usada.
SET @quant_no_banco = 0;
SET @quant_deletar = 0;
SET @max_registro = 40000; -- quantidade maxima desejada que fique no banco
-- Processa as quantidades
SET @quant_no_banco = ((SELECT COUNT(*) FROM << SUA TABELA DO BANCO >>))
IF @quant_no_banco > @max_registro
BEGIN
SET @quant_deletar=@quant_no_banco-@max_registro;
/*
Print 'Quantidade atual no banco '+cast(@quant_no_banco as varchar(12) );
Print 'Quantidade Maxima desejada '+cast(@max_registro as varchar(12) );
print 'Quantidade a ser Deletada '+cast(@quant_deletar as varchar(12) );
*/
-- Pulo do gato
DELETE FROM << SUA TABELA DO BANCO >>
WHERE << CAMPO DE PREFERENCIA ID DA TABELA >> IN (SELECT TOP (@quant_deletar) << CAMPO DE PREFERENCIA ID DA TABELA >>
FROM << SUA TABELA DO BANCO >> );
END