문제
나는 개발자입니다.좋은 날의 건축가.어떻게 든 나는 내 소규모 회사의 DBA이기도합니다.내 배경은 DB 예술 분야에서 공정하지만 본격적인 DBA가 된 적은 없습니다.내 질문은 가능한 한 최소한의 실제 노력으로 현실적이고 합리적으로 작동하는 데이터베이스 환경을 보장하기 위해 무엇을 해야 합니까?
백업이 제대로 수행되고 있는지 확인해야 한다고 확신합니다.그것은 쉬운 일이다.꾸준하게 또 무엇을 해야 할까요?
해결책
데이터베이스에는 또 누가 참여하나요?스키마 변경(새 개체 생성, 새 저장 프로시저 릴리스, 새 사용자 권한 부여)을 수행하는 유일한 사람입니까?
- 성능에 영향을 미칠 수 있는 작업을 수행하는 사용자의 수가 가능한 한 0에 가깝게 줄어들도록 하십시오. 이상적으로는 귀하도 포함됩니다.
- 백업을 테스트하고 있는지 확인하세요. 프로덕션 환경을 주기적으로 다시 생성하는 DEV 상자를 실행하는 것이 이상적입니다. 1.DEV 상자는 좋은 생각입니다. 2.백업은 복원할 수 있는 경우에만 유용합니다.
- 데이터베이스에 연결하는 다양한 앱에 대한 그룹을 생성하여 새로운 사용자가 들어올 때 필요한 권한이 무엇인지 추측하지 않고 그룹에 추가하기만 하면 됩니다. 동시에 데이터베이스 개체는 필요한 그룹에만 권한을 부여합니다.
- 인덱스, 기본 키, 외래 키, 제약 조건, 통계 및 데이터베이스가 지원하는 기타 도구를 사용하세요.표준화하세요.
- 귀하의 제품에 맞게 가장 일반적인 코드를 최적화하십시오. 잘못된 저장 프로시저/데이터 액세스 코드로 인해 사망하게 됩니다.
다른 팁
나 거기 가봤 어.저는 코드를 작성하고, 모든 인프라 작업을 수행하고, DBA 모자를 쓰고, 사용자 지원을 하고, 전기 스테이플러가 걸렸을 때 이를 고치는 등 IT와 원격으로 연관될 수 있는 모든 일을 하는 일을 했습니다.그것은 훌륭했다!나는 모든 것에 대해 조금 배웠습니다.
데이터베이스 상자를 관리하고 공급하는 것과 관련하여 다음을 수행할 것을 권장합니다.
정기적으로 전체 백업을 수행하십시오.
정기적인 트랜잭션 로그 백업을 수행합니다.
백업 작업을 모니터링합니다.시중에는 이를 자동화할 수 있는 상대적으로 저렴한 유틸리티가 많이 나와 있습니다.작은 상점에서는 종종 너무 바빠서 매일 확인하기에는 기억이 나기에는 너무 바빠요.
백업을 테스트하십시오.훈련을 해보세요.가장 중요한 데이터베이스의 이전 복사본을 복원하세요.백업이 작동하고 있으며 백업을 올바르게 복원하는 방법을 알고 있음을 스스로 증명하십시오.얼마나 많은 사람들이 첫 번째 실제 재난이 발생했을 때만 이것에 대해 생각하는지 놀라게 될 것입니다.
백업을 오프사이트에 저장하세요.오늘날 모든 온라인 백업 제공업체가 있기 때문에 오프사이트 백업을 하지 않을 이유가 별로 없습니다.
상자에 대한 SA 액세스를 제한하십시오.
데이터베이스 플랫폼이 이를 지원하는 경우 역할 기반 보안만 사용하십시오.일회성 사용자별 보안을 갖고 싶은 유혹에 저항하십시오.
여기서 기본적인 아이디어는 상자에 접근할 수 있는 사람을 제한하면 문제가 줄어들 것이라는 것입니다.둘째, 백업이 견고하다면 효과적으로 처리할 수 없는 문제가 거의 발생하지 않습니다.
내가 제안 할게:
- 데이터베이스가 손상된 경우 최신 백업을 신속하게 복원하는 스크립트
- 어떤 종류의 백업을 하고 있나요?매일 전체 백업을 수행합니까, 아니면 매시간 증분 백업을 수행합니까?
- 새로운 사용자를 생성하고 기본 액세스 권한을 부여하는 일부 스크립트입니다.
그러나 가장 좋은 제안은 다른 사용자가 갖는 권한을 최대한 제한하는 것입니다. 이렇게 하면 문제가 심각하게 엉망이 될 가능성이 크게 줄어듭니다.모든 사람이 SA로 있는 서버는 잠겨 있는 서버보다 더 빨리 망가지는 경향이 있습니다.