Usuário com melhor resposta
Srink Database

Pergunta
-
Estou usando sql server express 2012
ele está com 2 gigas de mdf, excluimos uma tabela que não precisávamos mais
fiz o srink database e o mdf foi para 600 megas
o que fiz está correto?
- Tipo Alterado Eduardo.Romero segunda-feira, 20 de abril de 2015 12:42 Discussão
- Tipo Alterado Durval RamosModerator segunda-feira, 25 de maio de 2015 18:47 Motivo: Existe uma resposta objetiva para este Thread
Respostas
-
Jceoms,
Seguindo a mesma linha de raciocínio dos amigos, eu aconselharia a utilizar um Plano de Manutenção para seus bancos de dados, configurando algumas atividades como:
Eu procuro respeitar a própria sequência de atividades apresentandas pelo Maintenance Plan Wizard, mas cabe a você analisar a melhor estratégia.
Pedro Antonio Galvao Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
- Sugerido como Resposta Durval RamosModerator sexta-feira, 17 de abril de 2015 14:50
- Marcado como Resposta Durval RamosModerator segunda-feira, 25 de maio de 2015 18:53
-
jceoms,
O SHRINK não é desaconselhável. Apenas o que você tem que pensar é se o espaço que foi liberado será ocupado rapidamente.
Exemplo: você liberou esses 1,4 GB só que sua base cresce, por semana, 1 GB.
Aí você libera, faz o Shrink hoje e o SQL terá que "sofrer" pra ficar crescendo o arquivo físico para ter esse 1 GB na semana.
Se sua base não cresce rapidamente, efetuar o shrink é uma boa prática sim. Sem problemas.
Siga as recomendações do Durval e do Junior.
Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */
- Marcado como Resposta Durval RamosModerator segunda-feira, 25 de maio de 2015 18:53
-
o que voce quis dizer com a manutenção dos índices?
existe uma rotina especifica para isto?
Jceoms,
Quero dizer que normalmente é necessário criar um "Plano de Manutenção" adequado às necessidades de utilização de sua instância SQL. Criando rotinas para "reconstruir" ou "reorganizar" os dados de acordo com o quanto os índices de seu banco de dados estão fragmentados.
Veja abaixo que você poderá criar este "Plano de Manutenção" no SSMS,
clicando em "Management" -> "Maintenance Plan" -> botão direito -> "new Maintenance Plan...":
Não vou entrar em mais detalhes para não fugir deste "tópico", posteriormente se desejar você pode abrir um novo tópico sobre este assunto.
--------------------------------------------------------
tem que ser feito depois que fizer o srink?
Sim. Para manter seu banco de dados "organizado" e com uma boa performance.
Não esqueça de marcar como resposta todos os posts que ajudaram na solução !
Abraços,
Durval Ramos
Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
----------------------------------
Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Marcado como Resposta Durval RamosModerator segunda-feira, 25 de maio de 2015 18:53
-
Jceoms,
O ideal seria a realização de um BACKUP FULL antes deste procedimento (apenas por segurança) e também em um horário "alternativo", isso porque o servidor poderá sofrer com perda de desempenho ou bloqueio de outras operações e também parte de seu banco de dados poderá ser fragmentado.
Quando o objetivo é liberar o "espaço desocupado" para o armazenamento, então utilizar o SHRINK é uma boa opção. Procure agendar uma manutenção em seus índices para evitar impactos na performance da manipulação dos dados.
Para maiores informações veja:
https://msdn.microsoft.com/pt-br/library/ms189035.aspx
https://msdn.microsoft.com/pt-br/library/ms190488.aspx
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval Ramos
Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
----------------------------------
Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Editado Durval RamosModerator sexta-feira, 17 de abril de 2015 14:41 Ajuste de conteúdo
- Marcado como Resposta Durval RamosModerator segunda-feira, 25 de maio de 2015 18:53
Todas as Respostas
-
Olá,
A ideia é essa mesmo, o shrink libera o espaço que está "resevado" pelo banco de dados mas que não contém arquivos de registros, dessa forma, as vezes o ganho de espaço é bem considerável.
Att,
Wasley Portes
- Sugerido como Resposta Wasley Portes sexta-feira, 17 de abril de 2015 13:56
-
-
Até onde eu sei o impacto do shrink em uma database é a fragmentação. http://blog.sqlauthority.com/2011/01/19/sql-server-shrinking-database-is-bad-increases-fragmentation-reduces-performance/
Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves
-
Jceoms,
O ideal seria a realização de um BACKUP FULL antes deste procedimento (apenas por segurança) e também em um horário "alternativo", isso porque o servidor poderá sofrer com perda de desempenho ou bloqueio de outras operações e também parte de seu banco de dados poderá ser fragmentado.
Quando o objetivo é liberar o "espaço desocupado" para o armazenamento, então utilizar o SHRINK é uma boa opção. Procure agendar uma manutenção em seus índices para evitar impactos na performance da manipulação dos dados.
Para maiores informações veja:
https://msdn.microsoft.com/pt-br/library/ms189035.aspx
https://msdn.microsoft.com/pt-br/library/ms190488.aspx
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval Ramos
Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
----------------------------------
Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Editado Durval RamosModerator sexta-feira, 17 de abril de 2015 14:41 Ajuste de conteúdo
- Marcado como Resposta Durval RamosModerator segunda-feira, 25 de maio de 2015 18:53
-
-
Jceoms,
Seguindo a mesma linha de raciocínio dos amigos, eu aconselharia a utilizar um Plano de Manutenção para seus bancos de dados, configurando algumas atividades como:
Eu procuro respeitar a própria sequência de atividades apresentandas pelo Maintenance Plan Wizard, mas cabe a você analisar a melhor estratégia.
Pedro Antonio Galvao Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
- Sugerido como Resposta Durval RamosModerator sexta-feira, 17 de abril de 2015 14:50
- Marcado como Resposta Durval RamosModerator segunda-feira, 25 de maio de 2015 18:53
-
Sim o ideal é vc ter rotina que faz rebuild dos seus índices diariamente (lembrando que essa rotina deve executada em horário alternativo).
http://www.mssqltips.com/sqlservertip/1367/sql-server-script-to-rebuild-all-indexes-for-all-tables-and-all-databases/
Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves
-
jceoms,
O SHRINK não é desaconselhável. Apenas o que você tem que pensar é se o espaço que foi liberado será ocupado rapidamente.
Exemplo: você liberou esses 1,4 GB só que sua base cresce, por semana, 1 GB.
Aí você libera, faz o Shrink hoje e o SQL terá que "sofrer" pra ficar crescendo o arquivo físico para ter esse 1 GB na semana.
Se sua base não cresce rapidamente, efetuar o shrink é uma boa prática sim. Sem problemas.
Siga as recomendações do Durval e do Junior.
Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */
- Marcado como Resposta Durval RamosModerator segunda-feira, 25 de maio de 2015 18:53
-
o que voce quis dizer com a manutenção dos índices?
existe uma rotina especifica para isto?
Jceoms,
Quero dizer que normalmente é necessário criar um "Plano de Manutenção" adequado às necessidades de utilização de sua instância SQL. Criando rotinas para "reconstruir" ou "reorganizar" os dados de acordo com o quanto os índices de seu banco de dados estão fragmentados.
Veja abaixo que você poderá criar este "Plano de Manutenção" no SSMS,
clicando em "Management" -> "Maintenance Plan" -> botão direito -> "new Maintenance Plan...":
Não vou entrar em mais detalhes para não fugir deste "tópico", posteriormente se desejar você pode abrir um novo tópico sobre este assunto.
--------------------------------------------------------
tem que ser feito depois que fizer o srink?
Sim. Para manter seu banco de dados "organizado" e com uma boa performance.
Não esqueça de marcar como resposta todos os posts que ajudaram na solução !
Abraços,
Durval Ramos
Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
----------------------------------
Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Marcado como Resposta Durval RamosModerator segunda-feira, 25 de maio de 2015 18:53