Pergunta

Eu sou um desenvolvedor.Um arquiteto em dias bons.De alguma forma, também sou o DBA da minha pequena empresa.Minha formação é boa nas artes de DB, mas nunca fui um DBA completo.Minha pergunta é: o que devo fazer para garantir um ambiente de banco de dados confiável e razoavelmente funcional com o mínimo de esforço real possível?

Tenho certeza de que preciso ter certeza de que os backups estão sendo realizados e isso está sendo feito.Essa é fácil.O que mais devo fazer de forma consistente?

Foi útil?

Solução

Quem mais está envolvido no banco de dados?Você é a única pessoa que faz alterações no esquema (criando novos objetos, liberando novos procedimentos armazenados, concedendo permissões a novos usuários)?

  • Certifique-se de que o número de usuários que fazem algo que possa afetar o desempenho seja reduzido ao mais próximo possível de zero, de preferência incluindo você.
  • Certifique-se de testar seus backups - de preferência, execute uma caixa DEV que recria o ambiente de produção periodicamente, 1.uma caixa DEV é uma boa ideia, 2.um backup só é útil se você puder restaurar a partir dele.
  • Crie grupos para os vários aplicativos que se conectam ao seu banco de dados, para que quando um novo usuário aparecer você não adivinhe quais permissões ele precisa, apenas adicione-os ao grupo, enquanto isso permita os objetos do banco de dados apenas para os grupos que precisam deles
  • Use índices, chaves primárias, chaves estrangeiras, restrições, estatísticas e quaisquer outras ferramentas que seu banco de dados suporte.Normalizar.
  • Otimize o código mais comum em sua caixa - procedimentos armazenados/código de acesso a dados incorretos irão matá-lo.

Outras dicas

Eu estive lá.Eu costumava ter um trabalho onde escrevia código, fazia todo o trabalho de infraestrutura, usava o chapéu de DBA, dava suporte ao usuário, consertava o grampeador elétrico quando ele travava e tudo o mais que surgisse que pudesse estar remotamente associado à TI.Foi ótimo!Aprendi um pouco sobre tudo.

Quanto ao cuidado e alimentação da sua caixa de banco de dados, recomendo que você faça o seguinte:

  • Execute backups completos regulares.

  • Execute backups regulares do log de transações.

  • Monitore suas tarefas de backup.Existem vários utilitários no mercado que são relativamente baratos e que podem automatizar isso para você.Em uma pequena loja, muitas vezes você está ocupado demais para se lembrar de verificá -las diariamente.

  • Teste seus backups.Faça um exercício.Restaure uma cópia antiga dos seus bancos de dados mais importantes.Prove a si mesmo que seus backups estão funcionando e que você sabe como restaurá-los corretamente.Você ficaria surpreso com quantas pessoas só pensam nisso durante seu primeiro desastre real.

  • Armazene backups fora do local.Com todos os provedores de backup online disponíveis hoje, não há muitas desculpas para não ter um backup externo.

  • Limite o acesso às suas caixas.

  • Se a sua plataforma de banco de dados suportar, use apenas segurança baseada em função.Resista à tentação de ter uma segurança única e específica para o usuário.

A ideia básica aqui é que se você restringir quem tem acesso à caixa, você terá menos problemas.Em segundo lugar, se seus backups forem sólidos, surgirão algumas coisas com as quais você não conseguirá lidar de maneira eficaz.

Eu sugeriria:

  • Um script para restaurar rapidamente o backup mais recente de um banco de dados, caso ele seja corrompido
  • Que tipo de backup você está fazendo?Backups completos todos os dias ou incrementais a cada hora, etc?
  • Alguns scripts para criar novos usuários e conceder-lhes acesso básico.

No entanto, a sugestão número um é limitar ao máximo o poder que outros usuários têm, o que reduzirá bastante a chance de as coisas ficarem muito bagunçadas.Servidores que têm todos como sa tendem a ficar confusos mais rapidamente do que servidores que estão bloqueados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top