Để bắt đầu làm quen và học quản lý cơ sở dữ liệu với ngôn ngữ SQL thì chúng ta cần có một database và một ứng dụng để làm việc với database đó. Có nhiều loại database nổi tiếng, nhưng để bắt đầu học thì Microsoft SQL Server là lựa chọn khá dễ tiếp cận. Mac không cài thẳng SQL Server được như Windows, nên cách phổ biến là chạy SQL Server trong một container Docker, rồi dùng VS Code để kết nối và viết query. Bài viết này Hiếu sẽ hướng dẫn bạn làm từng bước, từ cài Docker đến chạy câu query đầu tiên.
Bản đầu tiên của bài này (2021) dùng Azure SQL Edge và Azure Data Studio. Cả hai đều đã bị Microsoft dừng: Azure SQL Edge ngừng từ 30/09/2025, Azure Data Studio ngừng hỗ trợ từ 28/02/2026. Hiếu đã cập nhật lại hướng dẫn theo image SQL Server chính thức và VS Code với extension MSSQL (10/2026). Nếu bạn chỉ muốn học SQL cơ bản mà không muốn cài Docker thì có thể thử DB Browser for SQLite, nhẹ hơn nhiều.
| Môi trường chạy | SQL Server trong container Docker |
| Tương thích | Intel (chính thức), Apple Silicon (chạy giả lập qua Rosetta 2) |
| Ứng dụng yêu cầu | Docker Desktop, Visual Studio Code + extension MSSQL |
Cài đặt SQL Server trên Mac bằng Docker
Để tạo một SQL Server ngay trên Mac thì công cụ được nhiều người dùng nhất là Docker. Bạn hãy làm lần lượt theo thứ tự của hướng dẫn là được. Trước hết bạn cần kiểm tra xem Mac của bạn là chip Intel hay chip Apple Silicon (M1, M2, M3…) nhé.

Lưu ý cho Mac chip Apple Silicon
Image SQL Server của Microsoft chỉ được build cho chip x86-64 (Intel/AMD). Trên Mac chip Apple Silicon, Docker phải chạy image này qua lớp giả lập Rosetta 2. Theo tài liệu của Microsoft, các môi trường giả lập như Rosetta 2 không được kiểm thử và không được hỗ trợ chính thức. Vì vậy cách này chỉ nên dùng để học SQL và thử nghiệm, bạn đừng dùng nó cho hệ thống thật nhé.
Đầu tiên, bạn cài Rosetta 2. Trang hướng dẫn của Docker cho biết Rosetta 2 không còn bắt buộc với bản thân Docker Desktop, nhưng mình vẫn cần nó để chạy image SQL Server. Bạn mở ứng dụng Terminal có sẵn trên Mac (dùng Command Space để tìm Terminal), dán dòng lệnh bên dưới rồi Enter, nhập A để đồng ý điều khoản.
softwareupdate --install-rosetta

Tải và cài đặt Docker
Bước 1: Bạn nhấp vào nút bên dưới để tải Docker Desktop cho Mac, hãy chọn đúng phiên bản dành cho chip của máy bạn nhé.
Bước 2: Bạn mở file cài đặt Docker lên, kéo thả icon Docker vào thư mục Applications (Ứng dụng).

Bước 3: Cấp RAM cho Docker. Bạn mở Docker lên, vào Settings > Resources > Advanced, chỉnh Memory limit lên khoảng 4GB. SQL Server cần tối thiểu 2GB RAM để khởi động, nên 4GB là vừa đủ cho một SQL Server dùng để học.

Bước 4 (chỉ với chip Apple Silicon): Bật giả lập Rosetta trong Docker. Bạn vào Settings > General, chọn Virtual Machine Manager là Apple Virtualization framework, tích chọn Use Rosetta for x86_64/amd64 emulation on Apple Silicon, rồi nhấp Apply & restart. Tùy chọn này giúp image SQL Server chạy nhanh hơn hẳn so với giả lập mặc định (tên mục có thể thay đổi theo phiên bản Docker, 10/2026).
Lưu ý: Nếu bạn dùng Podman thay cho Docker thì các lệnh bên dưới cũng tương tự, chỉ cần đổi chữ docker thành podman. Tuy nhiên Hiếu chưa kiểm tra kỹ trên Podman, và tính năng tạo container ngay trong extension MSSQL (ở phần sau) hiện chưa hỗ trợ Podman.
Khởi tạo SQL Server bằng image chính thức của Microsoft
Bước 1: Tải image SQL Server. Bạn mở Terminal, dán lệnh dưới đây và Enter. Docker Desktop trên Mac không cần sudo nên bạn không phải nhập mật khẩu máy như bản cũ của bài.
docker pull --platform linux/amd64 mcr.microsoft.com/mssql/server:2025-latest
Ở đây Hiếu dùng tag 2025-latest (SQL Server 2025). Nếu bạn cần học theo giáo trình cũ hơn thì có thể đổi thành 2022-latest.
Bước 2: Tạo và chạy container SQL Server. Bạn dán đoạn lệnh bên dưới vào Terminal, thay YOUR_PASSWORD bằng mật khẩu bạn muốn, rồi Enter.
docker run --platform linux/amd64 \
-e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=YOUR_PASSWORD" \
-p 1433:1433 --name sql1 --hostname sql1 \
-d mcr.microsoft.com/mssql/server:2025-latest
Dòng
--platform linux/amd64là để Docker trên chip Apple Silicon biết cần chạy giả lập. Với Mac chip Intel thì để nguyên cũng không sao.Lưu ý: Mật khẩu của SQL Server cần ít nhất 8 ký tự và có ít nhất 3 trong 4 nhóm: chữ in hoa, chữ thường, số, ký tự đặc biệt. Nếu mật khẩu không đạt yêu cầu, container sẽ tự dừng ngay sau khi chạy. Khi đó bạn xem lỗi bằng lệnh
docker logs sql1.
Trong trường hợp bạn muốn đổi mật khẩu sau khi đã tạo SQL Server thì bạn dùng lệnh này trong Terminal. Tham số -C là để sqlcmd tin chứng chỉ tự ký của container.
docker exec -it sql1 /opt/mssql-tools18/bin/sqlcmd \
-S localhost -U sa -P "OLD_PASSWORD" -C \
-Q "ALTER LOGIN sa WITH PASSWORD='NEW_PASSWORD'"
Bước 3: Kiểm tra SQL Server đang chạy. Bạn mở Docker, vào mục Containers, đảm bảo container tên sql1 đang ở trạng thái Running là được. Nếu nó đang tắt thì bạn nhấp vào icon play để chạy lại. Nếu thích dùng Terminal thì gõ docker ps cũng thấy được danh sách container đang chạy.
Bạn có thể tạm dừng, khởi động lại hoặc xóa container SQL Server ngay trong giao diện của Docker. Trên chip Apple Silicon, lần khởi động đầu có thể mất một lúc vì phải chạy qua giả lập, bạn chờ chút xíu nhé.
Như vậy là bạn đã có một SQL Server cơ bản ngay trên Mac rồi đó. Giờ thì bạn có thể tạm ẩn Docker, chúng ta sẽ cài VS Code để làm việc với SQL Server này.
Kết nối SQL Server bằng VS Code và extension MSSQL
Trước đây Hiếu hướng dẫn dùng Azure Data Studio, nhưng ứng dụng này đã ngừng hỗ trợ từ 28/02/2026 và Microsoft khuyên người dùng chuyển sang Visual Studio Code với extension MSSQL. Extension này chạy được trên cả Mac chip Intel lẫn Apple Silicon, có đủ những thứ cần cho người mới học: kết nối database, xem bảng, viết và chạy query, xuất kết quả ra CSV hoặc Excel.
Bước 1: Tải và cài VS Code. Bạn tải bản cho Mac bằng nút bên dưới, giải nén rồi kéo ứng dụng vào thư mục Applications.
Bước 2: Cài extension MSSQL. Bạn mở VS Code, nhấp vào biểu tượng Extensions ở thanh bên trái (hoặc nhấn Command Shift X), gõ mssql vào ô tìm kiếm, chọn SQL Server (mssql) của Microsoft rồi nhấp Install. Khi thấy biểu tượng SQL Server xuất hiện ở thanh bên trái là cài xong.
Bước 3: Tạo kết nối đến SQL Server. Bạn nhấp vào biểu tượng SQL Server, chọn Add Connection, để Input type là Parameters và điền thông tin như sau:
- Server name: localhost
- Authentication type: SQL Login
- User name: sa
- Password: mật khẩu bạn đã đặt ở bước tạo container
Sau đó nhấp Connect. Nếu VS Code báo lỗi kiểu “certificate chain was issued by an authority that is not trusted” thì là do container dùng chứng chỉ tự ký. Bạn bật tùy chọn Trust server certificate (trong form hoặc trong phần Advanced) rồi kết nối lại là được. Tùy chọn này chỉ nên bật cho SQL Server chạy trên máy mình.
Bước 4: Chạy câu query đầu tiên. Bạn nhấp chuột phải vào kết nối vừa tạo, chọn New Query, gõ câu lệnh bên dưới rồi nhấp Run (hoặc nhấn Command Shift E). Nếu thấy kết quả trả về thông tin phiên bản SQL Server là mọi thứ đã sẵn sàng để bạn học SQL rồi.
SELECT @@VERSION;
Mẹo: Extension MSSQL có sẵn tính năng Create local SQL Container, tự tải image và tạo container SQL Server mà không cần gõ lệnh Docker (vẫn cần Docker Desktop đang chạy). Hiếu vẫn hướng dẫn bằng lệnh ở trên vì bạn sẽ hiểu rõ container hoạt động thế nào, sau này gặp lỗi cũng dễ tự xử lý hơn.
Lời kết
Có một hạn chế Hiếu muốn bạn biết: trên Mac chip Apple Silicon, SQL Server chạy qua giả lập nên sẽ chậm hơn và tốn RAM hơn so với chạy trên máy Intel. Để học cú pháp SQL, viết query, tạo bảng thì không ảnh hưởng nhiều. Còn nếu máy bạn yếu hoặc bạn không bắt buộc phải học SQL Server thì SQLite hoặc PostgreSQL (có bản chạy trực tiếp trên chip Apple) sẽ nhẹ nhàng hơn.
Ngoài sản phẩm của Microsoft thì còn nhiều ứng dụng khác để làm việc với database. Ở Việt Nam anh em khá chuộng Navicat, mình cũng thấy giao diện của Navicat khá thân thiện và hỗ trợ nhiều loại database nổi tiếng khác. Nếu bạn gặp lỗi trong lúc cài đặt, hãy để lại bình luận bên dưới kèm chip, phiên bản macOS và thông báo lỗi để Hiếu hỗ trợ nhé. Chúc bạn cài đặt SQL Server trên Mac thành công!






dạ a ơi chỗ download dành cho Mac nó ko có file zip mà có 3 cái là x64,arm64,universal thì chọn cái nào z a
Em ưu tiên dùng universal nha. Nếu universal không dùng được thì em xem máy em là M1 thì tải arm64, Intel thì tải x64.
Hi anh, em bị lỗi này khi tạo connect, anh xem giúp em với ạ
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 40 – Could not open a connection to SQL Server: Could not open a connection to SQL Server)
Chào Trang, em kiểm tra xem SQL server đã vào trạng thái running chưa nhé.
anh ơi có cách nào mình import file đã có sẵn và tạo databases diagram không anh ơi
Có thể import được file sql, csv. File khác mình chưa thử. Chủ yếu là do bạn sử dụng công cụ nào để truy vấn dữ liệu ấy. Mình từng thử ứng dụng DataGrip và import được.
Dạ cho e hỏi làm thế nào để tạo New Datababse ạ?
Em cảm ơn ạ.
Chào Hằng, ở phần Khởi tạo SQL Server, em dùng lại code đó nhưng thay azuresqledge thành name khác nhé.
Tại sao mỗi lần tắt azure đi khi mở lại đều không thể kết nối đến server thế ạ ? Nó ghi là ” Login failed for user ‘sa’.” . Có cách nào khắc phục không ạ ? Mặc dù SQL vẫn running ạ ( Docker luôn mở )
Mình không rõ, mình không sử dụng như vậy. Thường mình mở Docker để run SQL server xong thì mình mở Azure dùng. Dùng xong thì mình tắt luôn cả 2 chứ không để Docker chạy vì mình không muốn hao pin và ram của máy khi không dùng tới.
À mình hiểu rồi. Cảm ơn bạn nha