반응형
궁금한게 있어서 정말 열심히 테스트까지 진행해본 결과에 대해서 설명하겠다.... ( 이것저것 테스트 하느라 2시간은 사용한듯.. )
우선 나는 회사에서는 Windows 노트북을 사용하고, 집에서는 MAC을 사용하는 유저로써..
어차피 맥북에 페럴라이즈가 있으니 이쪽에 로컬로 SQL 서버를 구축해서 개발 데이터를 외장하드로 빼고 사용해보려고 별짓을 다 해봤다..
도커도 설치 해보고.. 외장 SSD도 붙여보고.. 페럴라이즈에도 설치해보고...
결론은... 결국 SQL서버는 ARM 기반 즉, M1 이후의 칩셋부터는 설치가 불가능 하다는거다..
이유를 확인해보자.
✅ SQL Server는 Windows 기반 전용 소프트웨어
- Microsoft SQL Server는 윈도우 커널 기반 API, 서비스, 레지스트리 등 Windows 종속적 구조로 설계되어 있음.
- macOS는 Unix 기반 운영체제이므로, Windows의 내부 동작 구조와 완전히 다름.
- 따라서 macOS에선 직접 설치 불가.
✅ Microsoft 공식 지원도 없음
- SQL Server는 macOS용 설치 파일을 아예 제공하지 않음.
- 공식적으로 설치 가능한 OS는:
- Windows Server
- Windows 10/11 (Pro/Enterprise/Education)
- 일부 리눅스 배포판 (Ubuntu, RHEL 등 → Docker 기반 아님)
🟡 Mac + Docker로 SQL Server 설치 시 문제
✅ 겉보기에 Docker로는 가능함
- Microsoft에서 Linux 기반의 SQL Server Docker 이미지(mcr.microsoft.com/mssql/server)를 제공하고 있음.
- Mac에서도 Docker Desktop을 통해 해당 이미지를 내려받아 컨테이너 실행 가능함.
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=YourStrongPassword123" \ -p 1433:1433 --name sqlserver \ -d mcr.microsoft.com/mssql/server:2019-latest
❌ 하지만 실질적인 한계가 있음:
- Intel Mac에서는 어느 정도 정상 작동 가능
→ Docker가 x86 아키텍처를 그대로 사용 - M1/M2/M3 (ARM 기반 Apple Silicon) Mac에서는 문제가 많음
- Microsoft SQL Server 공식 이미지가 x86_64 아키텍처 전용
- Apple Silicon은 ARM 아키텍처 → Docker가 에뮬레이션 모드(Rosetta + qemu)로 작동해야 함
- 결과: 매우 느리거나, 아예 실행 불가 / 예외 발생 ( 컨테이너 시작할 경우 에러가 발생하며, 실행이 종료됨. )
✅ 정리하면:
칩셋 | Docker에서 SQL Server 동작 |
Intel Mac | 가능 (제한적이지만 무난) |
Apple Silicon | 느리거나 불안정하거나 작동 불가 |
🟠 Parallels (페럴렐즈)에 SQL Server 설치하면 안 되는 이유
Parallels는 가상 머신을 통해 Windows를 실행하기 때문에 원론적으로는 설치 가능합니다. 하지만 실무적/기술적으로는 권장X
✅ 설치는 가능함 (특히 Intel Mac + Windows)
- Windows 10/11 설치 후 SQL Server 설치 가능
❌ 그러나 실질적인 문제는 다음과 같음:
1. 성능 저하
- SQL Server는 CPU·메모리·I/O 자원을 많이 사용하는 백엔드 DBMS
- Parallels는 가상 환경이라 디스크 IOPS, 메모리 사용량 등에서 제약이 심함 → 느려짐
2. 안정성 부족
- 네트워크 브리징/포워딩 이슈
- DB 백업/복원 시 오류 가능성
3. 실무에서 사용 불가
- 개발용 정도는 OK
- 운영 환경이나 테스트 자동화, 다수 접속 처리에는 부적합
4. 라이선스 문제
- Parallels + Windows + SQL Server 모두 라이선스 관리 필요
🔴 Parallels (Apple Silicon Mac)에서 SQL Server 설치 불가능한 이유
✅ 이유 핵심:
SQL Server는 ARM 기반 Windows를 지원하지 않음.
🔧 배경 설명:
- Parallels Desktop에서 설치 가능한 Windows는 ARM 전용
- Apple Silicon(M1/M2/M3)에서는 Intel용 Windows 설치가 불가능
- Parallels에서 제공하는 Windows는 "Windows 11 on ARM"
- Microsoft SQL Server는 x64(AMD64, 즉 Intel/AMD CPU) 전용
- Microsoft는 SQL Server를 ARM 아키텍처에 대해 빌드하거나 배포하지 않음
- 따라서 ARM 기반 Windows에서는 SQL Server 설치 중 다음과 같은 오류 발생:
- "This installation package is not supported by this processor type."
- 에뮬레이션도 불가능
- Windows ARM에는 x64 에뮬레이션 기능이 있긴 하지만,
- SSMS 같은 간단한 유틸은 돌아갈 수 있어도,
- SQL Server는 커널 드라이버·서비스 수준의 설치가 필요하므로 에뮬레이션 불가
- Windows ARM에는 x64 에뮬레이션 기능이 있긴 하지만,
반응형
🟢 요약 정리
환경 | SQL Server 설치 | 설명 |
macOS 직접 | ❌ 불가능 | OS 구조 상 설치 불가 |
Docker (Intel Mac) | ⭕ | 제한적으로 가능 x86 기반 이미지로 구동 가능, 성능은 다소 제한적 |
Docker (Apple Silicon) | ⚠️ 불안정 | ARM 호환 이미지 없음, 에뮬레이션으로도 불안정 또는 실행 불가 |
Parallels + Windows (Intel Mac) | ✅ 가능 | x64 Windows 설치 가능, SQL Server 설치 및 실행 정상 |
Parallels + Windows (Apple Silicon) | ❌ 불가능 | ARM Windows만 설치 가능, SQL Server는 ARM 미지원 |
✅ 대안
- Azure SQL Database
→ 클라우드 환경에서 SQL Server 사용 가능, SSMS로 원격 접속 - SQL Server 설치된 Windows PC에 원격 접속
→ 사무실/집에 PC 두고 macOS에서 SSMS 또는 DataGrip 등으로 접속 - Docker 대체: PostgreSQL, MySQL
→ macOS에서 개발용 DB로 더 적합, 성능 안정성 우수
이렇게 설치가 안되는 이유에 대해서 확인해보았다...
결국 그래서 나는 그냥 집에서도 안쓰는 데스크탑에 SQL서버를 구축하고, 내부망을 통해서 원격으로만 접속을 하기로 마음을 다짐했다..
그럼 이제 SSMS는 설치가 되니까 번외로 SSMS를 설치하는 방법에 대해서 간략하게 짚고 넘어가보자.
Parallels(페럴렐즈, Parallels Desktop)을 사용하면 Mac에서 Windows를 가상으로 실행할 수 있기 때문에, 그 위에 SSMS (SQL Server Management Studio) 설치는 가능하다.
✅ 설치 요약:
- Parallels에 Windows 설치
→ 이미 설치돼 있다면 패스. - Windows 실행 후, Microsoft 공식 사이트에서 SSMS 설치 파일 다운로드
링크: https://learn.microsoft.com/sql/ssms/download-sql-server-management-studio-ssms
설치 진행 (일반적인 윈도우 프로그램 설치 방식)
설치 후 SSMS 실행하면, SQL Server에 접속해 쿼리 등 작업 가능.
⚠️ 참고사항:
- SSMS는 Windows 전용이라 macOS에 직접 설치는 불가능 → 반드시 Parallels나 다른 가상화 도구(예: VMware, UTM 등) 필요.
- 성능은 Mac의 사양과 Parallels 설정에 따라 달라질 수 있음.
추가적으로 잘 모르는 사람들이 있을 수도 있기 때문에 얘기한다면 SSMS는 설치 하고 Settings에서 언어 설정이 불가능 하다.
언어를 EN으로 설치 진행했다면 삭제 후 재설치 하면 된다!
반응형
'APPLE > Mac' 카테고리의 다른 글
[ Mac ] 애플워치 맥북과 연동하기 (0) | 2023.01.17 |
---|---|
[Mac] Mac M1 칩셋 페러럴즈 설치 (0) | 2023.01.07 |