1) Excluir dados
Se você tiver registros de 1M e quiser manter apenas 10K deles, sugiro que selecione os últimos 10K em uma tabela temporária, trunque a tabela inteira com o comando TRUNCATE e insira 10K registros de volta (talvez seja necessário desativar restrições e identidade antes a operação e ligá-los novamente depois)
2) Faça backup do banco de dados
3) Reduza o arquivo de banco de dados e o log de transações.
Tente reduzir arquivos individuais com DBCC SHRINKFILE se DBCC SHRINKDATABASE não é o que você quer (não pode encolher mais do que o arquivo de banco de dados inicial, mas acho que este não é o ponto da sua pergunta)
Eu não sei por que você acha que o piscar não vai ajudar você, pls nos dá alguns argumentos.
Existe também a opção AUTO_SHRINK, mas nunca tentei com o SQL Express
Além disso - se o seu banco de dados estiver crescendo porque você tem muito conteúdo digital (documentos, imagens), considere redesenhar o sistema para armazenar esse conteúdo no sistema de arquivos e armazenar apenas nomes de arquivos ou hiperlinks no banco de dados.
Na maioria dos casos, os bancos de dados crescem muito rápido se tiverem muitas informações de auditoria (quando cada alteração em qualquer tabela é registrada em algum lugar) ou quando houver arquivos armazenados no banco de dados. Se o seu banco de dados cresce para 4Gb e todos esses dados importantes reais, como transações, dados de clientes, etc., então o SQL Express não é a ferramenta certa para você e a melhor opção será atualizar o mais rápido possível