Microsoft SQL Database 엔진은 데이터를 저장, 처리 및 보호하기 위한 핵심 서비스입니다. 다양한 상업 및 기업가 애플리케이션에 대한 제어된 액세스 및 신속한 트랜잭션 처리를 제공합니다.
SQL Database 엔진은 모든 Microsoft SQL 제품의 기본 엔진입니다. 엔터프라이즈 규모의 범용 RDBMS(관계형 데이터베이스 관리 시스템)입니다.
전 세계 수백만 명의 고객에게 Microsoft SQL Database 엔진은 모든 산업 및 조직 수준에서 보안 데이터 처리 및 스토리지를 위한 데이터베이스 서비스입니다. 까다로운 애플리케이션은 무결성을 대규모로 유지하면서 정보를 안정적으로 읽고 수정할 수 있습니다. SQL Database 엔진은 클라이언트 연결을 허용한 다음 데이터베이스에 대해 요청된 작업을 실행하는 서비스로 실행됩니다. 엔터프라이즈급 데이터 액세스 및 암호화 기능과 기본 제공 고가용성 및 데이터베이스 복구 기능으로 보호되는 SQL Database 엔진은 완전한 데이터베이스 플랫폼입니다.
다중 모드 데이터베이스 엔진
SQL Database 엔진은 모든 데이터 모델에서 비용 기반 결정을 내리는 용도로 작성된 스토리지 형식, 용도에 맞게 작성된 인덱스 구조 및 단일 쿼리 최적화 프로그램이 있는 다중 모델 데이터베이스 엔진입니다.
SQL Database 엔진을 사용하는 제품은 엔터프라이즈급 OLTP(온라인 트랜잭션 처리), OLAP(온라인 분석 처리) 또는 최신 애플리케이션을 위한 비관계형 솔루션일 수 있습니다. 관계형 정규화된 데이터는 데이터베이스에 일반적일 수 있지만 SQL Database 엔진은 많은 데이터 모델 및 데이터 형식을 지원합니다.
모든 기능은 동일한 T-SQL(Transact-SQL) 쿼리 언어를 사용하고 동일한 보안 계층에서 동일한 HA/DR 솔루션을 사용하여 동일한 SQL Database 엔진에 표시됩니다.
- Columnstore 인덱스: 개요
- SQL Server 및 Azure SQL Database를 사용하여 그래프 처리
- 키-값 쌍
- SQL Server의 JSON 데이터
- 공간 데이터
- SQL Database 엔진의 벡터 검색 및 벡터 인덱스
- XML 데이터(SQL Server)
Tooling
SQL Database 엔진에는 쿼리, 데이터 아키텍처, 자동화 및 데이터베이스 개발을 위한 업계 최고의 무료 도구 모음이 제공됩니다.
DBA(데이터베이스 관리자)는 백업 및 복원, 성능 튜닝, 보안 및 고가용성을 관리합니다.
권장 도구:
- SSMS(SQL Server Management Studio): 그래픽 사용자 인터페이스를 사용하는 모든 기능을 갖춘 관리
- Visual Studio Code용 MSSQL 확장: 간단한 작업 및 스크립팅
- sqlcmd: 배포 및 자동화를 위한 간단한 CLI(명령줄 인터페이스)
- Visual Studio Code용 SQL Database 프로젝트 확장: 소스 제어의 프로젝트에서 데이터베이스 스키마 관리 및 개발
- SSMA(SQL Server Migration Assistant): Microsoft Access, Db2, MySQL, Oracle 및 Sybase에서 SQL Server 및 Azure SQL로 마이그레이션
데이터베이스 기본 사항: ACID 규정 준수
RDBMS의 핵심 신조는 트랜잭션의 ACID 속성에 대한 지원입니다. 트랜잭션은 하나의 논리적 작업 단위로 수행되는 일련의 작업입니다. 작업의 논리적 단위가 트랜잭션으로 간주되려면 네 가지 속성, 즉 원자성, 일관성, 고립성, 내구성(ACID)을 충족해야 합니다.
| 재산 | 설명 |
|---|---|
| Atomicity | 트랜잭션은 원자적 작업 단위여야 합니다. 모든 데이터 변경 사항이 수행되거나 모두 수행되지 않습니다. |
| 일관성 | 완료되면 트랜잭션은 모든 데이터를 일관된 상태로 유지해야 합니다. 관계형 데이터베이스에서 데이터 무결성을 유지하려면 트랜잭션의 수정에 모든 규칙과 선언된 제약 조건을 적용해야 합니다. |
| 격리 | 한 트랜잭션에서 수정한 내용은 다른 동시 트랜잭션에서 수정한 내용과 격리되어야 합니다. 트랜잭션 간의 부분 또는 중간 상태는 허용되지 않습니다. 이 속성은 동일한 데이터베이스 상태를 초래하는 일련의 순차 트랜잭션을 재생할 수 있기 때문에 직렬화 기능이라고도 합니다. |
| Durability | 트랜잭션이 완료된 후에는 비휘발성 스토리지에 기록되므로 오류 발생 시에도 시스템에서 해당 효과를 기록합니다. RAM(휘발성 메모리)에만 커밋된 트랜잭션은 지속성이 없습니다. |
트랜잭션에 대한 자세한 내용은 트랜잭션 잠금 및 행 버전 관리 가이드를 참조하세요. SQL Database 엔진에 대한 자세한 내용은 SQL Server 내부 및 아키텍처 가이드를 참조하세요.
기본적으로 SQL Database 엔진은 기본적으로 완전히 ACID 규격 데이터베이스입니다. 확장 또는 성능을 위해 데이터베이스 개발자는 SQL Database 엔진의 일부 ACID 원칙을 의도적으로 무시할 수 있습니다. 예를 들어 지연된 내구성, 비지속성 테이블을 사용하거나 커밋되지 않은 데이터를 읽을 수 있습니다. 이러한 모든 경우에 개발자는 다른 목표를 달성하기 위해 일부 ACID 속성을 절편하도록 선택합니다. 이러한 장단점은 데이터 무결성 문제를 초래하고 비즈니스 결과에 영향을 줄 수 있으므로 주의해야 합니다.
플랫폼 기능 지원
애플리케이션에서 사용하는 대부분의 Transact-SQL(T-SQL) 기능은 모든 SQL Database 엔진 플랫폼에서 완전히 지원됩니다. 예를 들어 데이터 형식, 연산자 및 문자열, 산술, 논리 및 커서 함수와 같은 핵심 SQL 구성 요소는 모든 플랫폼에서 동일하게 작동합니다. 그러나 DDL(데이터 정의 언어) 및 DML(데이터 조작 언어) 요소에는 몇 가지 T-SQL 차이점이 있습니다. 이러한 차이로 인해 디자인상의 이유로 다양한 플랫폼에서 부분적으로만 지원되는 T-SQL 문과 쿼리가 발생합니다.
PaaS(Platform as a Service) 또는 SaaS(Software as a Service) 플랫폼의 경우, 예를 들어 일부 운영 체제 또는 로컬 파일 기능은 논리적 또는 물리적 격리로 인해 비활성화됩니다. 예를 들어 포함된 데이터베이스에서는 인스턴스 수준 옵션, 운영 체제 구성 요소를 구성하거나 파일 시스템 구성을 지정하는 경우 T-SQL 문 및 옵션을 사용할 수 없습니다.
기능 및 링크
다음 표에서는 개요 설명서 및 간략한 설명에 대한 링크가 포함된 SQL Database 엔진의 주요 기능을 나열합니다.
| 특징 | 설명 |
|---|---|
| "Always On" 가용성 그룹 | 엔터프라이즈 시스템의 고가용성 및 재해 복구를 위해, 동기식 또는 비동기식으로 운영되는 읽기 가능한 보조 복제본을 사용합니다. |
| Always Encrypted | 중요한 데이터 열의 클라이언트 쪽 암호화 |
| 감사 | 관리 작업 감사 |
| 백업 및 복원 | 데이터베이스 데이터 보호 및 복구 |
| 백업 압축 | 기본 제공 백업 압축 |
| 백업 암호화 | 기본 제공 백업 암호화 |
| 버퍼 풀 확장 | 버퍼 풀에 비휘발성 RAM을 추가하여 I/O 향상 |
| 변경 데이터 캡처 | 데이터 변경 내용 추적 및 캡처 |
| Columnstore 인덱스 | 분석 워크로드에 대한 열 형식 스토리지 |
| 동적 데이터 마스킹 | 중요한 데이터 노출 제한 |
| 장애 조치 클러스터링 | 고가용성 및 재해 복구를 위한 엔터프라이즈 장애 조치(failover) 클러스터링 |
| 전체 텍스트 검색 | 고급 텍스트 검색 기능 |
| 그래프 테이블 | 모델 및 쿼리 그래프 관계 |
| 메모리 내 OLTP | 메모리 최적화 테이블 및 프로시저 |
| 인덱싱된 뷰 | 인덱스를 만들어 뷰 구체화 |
| JSON 지원 | 기본 제공 JSON 함수를 사용하여 JSON 데이터 저장 및 쿼리 |
| Ledger | 변조 검출 데이터베이스 기능 |
| Microsoft Entra 인증 | 엔터프라이즈 전체 사용자 및 서비스 계정 인증 |
| 온라인 인덱스 유지 관리 | 정상적인 활동을 방해하지 않는 유지 관리 |
| 최적화된 잠금 | 향상된 트랜잭션 잠금 메커니즘 |
| 분할 | 분할된 테이블 및 인덱스를 사용하여 크기 조정 |
| PolyBase | 외부 데이터 원본을 쿼리하는 데이터 가상화 |
| 쿼리 저장소 | 쿼리 성능 튜닝을 위한 기본 제공 모니터 |
| Replication | 서버 간에 데이터 배포 |
| 행 수준 보안 | 테이블 데이터에 대한 필터링된 액세스 제어 |
| 공간 데이터 | 지리적 데이터 저장 및 쿼리 |
| 시간별 테이블 | 변경 내용의 전체 기록 추적 |
| 투명한 데이터 암호화 | 휴지 상태의 데이터베이스 파일 암호화 |
| 벡터 지원 | 벡터 임베딩 저장 및 쿼리, 벡터 인덱스에서 벡터 검색 LangChain 통합 및 의미 체계 커널 통합을 지원합니다. |
| XML 지원 | XML 데이터, XML 인덱스 저장 및 쿼리 |
언어 및 드라이버 지원:
| Driver | 설명 |
|---|---|
| .NET | SQL용 ADO.NET 드라이버 |
| 이동 | SQL용 Golang go-mssqldb 드라이버 |
| java | SQL용 JDBC 드라이버 |
| Node.js | SQL용 Node.js 드라이버 |
| ODBC | SQL Server용 ODBC 드라이버 |
| OLE DB | SQL Server용 OLE DB 드라이버 |
| PHP | SQL용 PHP 드라이버 |
| 파이썬 | SQL용 Python mssql-python 드라이버 |
| 루비 | SQL용 Ruby 드라이버 |
| Spark | SQL용 Spark 커넥터 |
SQL Database 엔진을 사용하는 최신 플랫폼
다음 최신 플랫폼은 주력 SQL Server 제품부터 SQL Database 엔진을 사용합니다.
| 제품 | 배포 모델 |
|---|---|
| SQL Server | 온프레미스, Azure VM의 SQL Server, Arc 지원을 포함하여 Windows, Linux, Linux 컨테이너를 포함한 가상 머신 |
| Azure SQL 데이터베이스 | 완전 관리형 데이터베이스, PaaS(Platform as a Service) |
| Azure SQL Managed Instance | 완전 관리형 데이터베이스 인스턴스, PaaS(Platform as a Service) |
| 패브릭 데이터 웨어하우스 | 완전히 관리되는 웨어하우스, Microsoft Fabric의 SaaS(Software as a Service) |
| 패브릭의 SQL 데이터베이스 | 완전히 관리되는 데이터베이스, Microsoft Fabric의 SaaS(Software as a Service) |
SQL 설명서에서 버전 선택기 드롭다운 목록은 아티클, 구문 참조, 자습서 또는 기타 콘텐츠에 적용되는 버전을 이해하는 데 중요합니다. 많은 Learn 문서는 특정 SQL 플랫폼 및 기능에 맞게 사용자 지정됩니다. 대부분의 SQL 참조 문서에는 아티클에 적용 가능한 플랫폼을 나열하는 아이콘 표시줄도 있습니다. 설명서를 탐색하는 방법에 대한 자세한 내용은 SQL Server 문서 탐색 가이드를 참조하세요.
무료 제안
무료로 오늘 시작하세요. 무료 Azure 구독을 사용하여 SQL Database 엔진을 무료로 사용해 볼 수 있습니다.
- 개발 및 테스트 시스템을 위한 SQL Server 개발자 버전
- Azure SQL 데이터베이스 무료 제품
- Azure SQL Managed Instance 무료 제품
- 무료 평가판 용량을 위한 Microsoft Fabric
Migration
Azure Database Migration Guides 방문 페이지에서는 다양한 플랫폼에서 다양한 Microsoft SQL 플랫폼으로의 마이그레이션을 빠르게 시작할 수 있는 링크를 제공합니다.
- SQL 데이터 마이그레이션 도구를 다양한 마이그레이션에 대해 비교합니다.
- 패브릭으로 마이그레이션하는 방법에 대한 자세한 내용은 Microsoft Fabric 마이그레이션 개요 를 참조하세요.
- 여러 데이터베이스 원본에서 Azure 데이터 플랫폼으로 마이그레이션하기 위한 완전 관리형 서비스인 Azure DMS(Azure Database Migration Service)를 사용해 보세요.