MSSQL에서는 계정이 크게 로그인 계정(LOGIN)과 사용자 계정(USER)으로 나뉜다. 로그인 계정은 SQL Server에 접근하기 위한 계정이고, 사용자 계정은 DB에 접근하기 위한(작업 권한을 가지는) 계정이다. 이는 SSMS의 개체 탐색기 탭에서 명확하게 확인할 수 있다. 로그인 계정에 대한 정보는 SQL Server 아래 보안 항목에 묶여있고, 사용자 계정은 DB 아래 보안 항목에 묶여 있다. 로그인 계정과 사용자 계정을 분리시켜서 보안을 강화시킬 수 있다. 보통 작업 용이성 때문에 계정명을 DB_MANAGER, SERVER_MANAGER처럼 작업과 관련된 명칭으로 설정하는데, 로그인 계정을 다음과 같이 설정했을 경우 외부 침입이 발생했을때 해당 로그인 계정이 쉽게 타겟이 될 수 있다. 따라서..
MySQL과 Microsoft SQL server(MS SQL)은 대표적인 관계형 데이터베이스 관리 시스템 (DBMS)이다. 각각의 DBMS는 특징 및 차이점이 있으며 이를 이해하면 업무 수행에 조금이나마 도움이 된다. MySQL 세계에서 가장 많이 사용되는 오픈 소스 DBMS 중 하나이다. 정확하게는 최초에는 오픈 소스로 개발되었지만 제작사가 오라클로 인수되면서 유료화가 진행되고 약간은 오픈 소스에 호의적이지 않은 행보를 이어가고 있다. 이에 기존 MySQL 핵심 개발자가 MySQL을 기반으로 MariaDB를 개발하여 오픈소스 DBMS로 지원하고 있다. 따라서 MySQL에서 지원하는 대부분의 기능을 MariaDB에서 사용할 수 있으며, 무료 서비스라는 점에서 사용하는 업체들이 늘어나는 추세이다. MyS..
Master-Slave 란? 우선 Master-Slave 구조를 이해하기 전에 해당 개념이 왜 필요한지를 생각해 볼 필요가 있다. 데이터베이스를 관리하는 사람의 역할은 크게 두 단계로 나뉜다. 첫째는 개발 단계에서 데이터베이스를 알맞게 설계하고 필요한 테이블과 프로시저를 작성하는 것이다. 그뿐만 아니라 해당 단계에서는 인덱스, 정규화 등 데이터베이스를 효율적으로 사용할 수 있게끔 만드는 역할을 하게 된다. 둘째는 운영 단계에서 데이터베이스를 관리하고 백업을 담당하게 되고 지속적으로 데이터베이스를 모니터링하며 이슈 발생 시 문제를 해결하는 역할을 하게 된다. Master-Slave 구조는 MySQL의 관리 및 백업에 등장하는 Replication 개념에서 나오는 구조이며, 말그대로 주인인 Master 서버..