Usuário com melhor resposta
Melhor estratégia tabelas com registros antigos pouco utilizados

Pergunta
-
Olá pessoal!
Um servidor com SQLExpress 2008R2 em um banco cuja tabela de vendas responde pela maior parte do volume de dados (8,5gb), embora os dados dos últimos 10 anos estejam na tabela, em uma estatisca com usuários notamos que a necessidade frequente são apenas os dados do ano corrente ou no maximo incluir os dados do ano anteior, sendo o restante raramente consultado.
Atualmente não temos problemas de desempenho, porém sabemos do limite de 10GB para todo o banco.
A melhor solução seria continuar o uso do SQlServer em uma versão superior sem a limitação de tamanho, porém isso não está no plano do cliente, que propos a troca do SGBD.
Sem apagar conteúdo ou criar um "sistema de histórico", vocês teriam alguma sugestão de estratégia que permita "arquivar" esse contéudo antigo em um segundo banco de dados, de forma que caso seja realizada a consulta essa informação possa estar disponível de forma transparente para as aplicações clientes do banco.
Como vocês resolveriam essa situação?
Grato pela atenção e vosso tempo,
Respostas
-
Deleted
- Marcado como Resposta MatheusFernando sexta-feira, 6 de setembro de 2019 10:50
Todas as Respostas
-
Olá Matheus,
Infelizmente a versão Express tem além da limitação de tamanho , limitação de features rsrs.
Para manter sua versão Express , a unica forma que vejo seria criar uma nova base e mover os dados antigos para lá. Mas, para acessar os dados antigos , teria que haver modificação no sistema para apontar para a nova base sempre que for necessário recorrer a dados mais antigos. E também , você criar um script de movimentação de dados ( isso ai mais simples) para fazer a cada ano por exemplo.
Esta nova base teria a mesma limitação de 10GB , visto que a limitação é por base.
Jefferson Clyton Pereira da Silva - [MCSA | MCP | MCTS | MTA | Analista de Banco de Dados - Sql Server e Oracle ]
- Sugerido como Resposta Jefferson Silva DBA segunda-feira, 19 de agosto de 2019 13:59
-
Bom dia , a opção do do "Jefferson Clyton Pereira da Silva" é interessante , criar um novo banco de dados para migrar os dados antigos é uma alternativa para fugir da limitação do tamanho do banco ,mas não vai resolver a longo prazo mas é a melhor opção no momento ,
eu antes de fazer essa alteração faria o seguinte.
1) criar um portfólio com a comparação do Sql server express e o Standard , como limitação e o quanto seu cliente vai ganhar,isso em performance, escalabilidade e segurança ,
aqui uns links bons
https://stackify.com/what-is-sql-server-express/
https://www.microsoft.com/pt-br/sql-server/sql-server-editions-express
caso a negativa de atualizar , siga em frente , depois da migração dos dados ,vc pode criar uma tabela particionada por ano para "Vendas" .
WITH Eu AS (SELECT *
FROM
(
VALUES
(CONCAT('Wesley Neves ', '#', '.NET Developer')),
(CONCAT('M®CSA SQL 2016 Database Development', ' # ', 'MTA-SQL Server',' # ','MCP')),
('Pós Graduado em Banco de Dados com ênfase em BI'),
('Pós Graduando em Big Data e Analytics')
) AS X (value)
)
SELECT *
FROM Eu;
Wesley Neves
Wesley Neves
-
Deleted
- Marcado como Resposta MatheusFernando sexta-feira, 6 de setembro de 2019 10:50
-
Prezado José,
A ideia é bem interessante.
A segunda forma com instancias diferentes só é um pouco mais complexa no sentido de manutenção , digo mais em relação ao Backup. Acho que a limitação de memória é de 1GB redondo , mas, já estaria valendo o ganho de recurso, visto que 1GB livre ele deve ter na maquina rsrs.
A primeira forma, criando outra base eu acho que seria a mais adequada. Ainda cai na questão de uma manutenção mais apurada em relação a backup, mas, muito mais fácil de gerenciar (no mesmo script que ele deve ter de backup é só incluir a base nova).
Jefferson Clyton Pereira da Silva - [MCSA | MCP | MCTS | MTA | Analista de Banco de Dados - Sql Server e Oracle ]
-
-
-
Oi José,
Concordei com vc. Inclusive irei dar uma olhada no seu artigo, como já tinha feito com o primeiro.
O mecanismo para fazer o restore entre os 2 bancos deverá ser feito através de script unico para as 2 instancias.
Nâo me parece tão complicado para fazer, e é sempre legal este tipo de desafio novo.
Jefferson Clyton Pereira da Silva - [MCSA | MCP | MCTS | MTA | Analista de Banco de Dados - Sql Server e Oracle ]