Konek ke Microsoft SQL Server dari Mac
Untuk konek ke Microsoft SQL Server dari Mac, buat koneksi SQL Server baru di Selekta dengan host server, port 1433, nama database dan login SQL Server (user dan password), biarkan enkripsi di "Encrypt, trust server certificate" untuk server lokal atau ber-sertifikat self-signed, lalu klik Test dan Save. Windows authentication tidak didukung, jadi Anda perlu login SQL.
Driver-nya sudah terpasang: tidak perlu instal apa pun, tanpa setup ODBC dan tanpa Java. Panduan ini membahas field koneksi, tiga opsi enkripsi, kasus sertifikat self-signed, jenis login, dan cara script dengan GO dijalankan.
Yang perlu disiapkan
- Host dan port. SQL Server mendengarkan di port TCP
1433secara default. Named instance (SERVER\SQLEXPRESS) sering memakai port lain yang dinamis; tanyakan nomor port sebenarnya, karena nama instance saja tidak cukup di sini. - Login SQL Server. User dan password yang dibuat dengan
CREATE LOGIN, misalnyasadi server development. Server harus mengaktifkan mode SQL Server and Windows Authentication (mixed mode). - Nama database (opsional). Kosongkan untuk masuk ke database default milik login tersebut, biasanya
master.
Windows authentication (integrated security) dan login Microsoft Entra ID tidak didukung. Selekta hanya masuk dengan SQL Server authentication. Jika organisasi Anda hanya mengizinkan akun domain, minta login SQL ke administrator database.
Menjalankan SQL Server secara lokal di Mac
SQL Server tidak berjalan native di macOS. Untuk server development lokal, cara yang umum adalah container Linux resmi di Docker Desktop. Di Apple silicon, container ini berjalan lewat emulasi x86, dan itu cukup untuk development.
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=YourStrong!Passw0rd" \
-p 1433:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2022-latest
Setelah itu konek ke host localhost, port 1433, user sa dengan password tersebut.
Langkah-langkah konek
- Tekan ⌘N, pilih SQL Server di daftar engine (tertulis "sqlserver · 1433"), lalu tekan ↵.
- Isi Name, misalnya
erp-staging, dan pilih Environment (Production, Staging, Local atau None). - Isi Host (hostname atau IP, tanpa
tcp:atau protokol), Port (1433sudah terisi), Database (placeholder-nyamaster) dan User. - Ketik Password. Dengan Save password tercentang, password disimpan di macOS Keychain.
- Buka tab SSL dan pilih opsi enkripsi (lihat bagian berikut). Default-nya Encrypt, trust server certificate.
- Klik Test atau tekan ⌘T. Jika berhasil, banner bertuliskan misalnya "Connected to SQL Server 2022 16.0.4145.4 in 18 ms."
- Klik Save (⌘S).

Untuk SQL Server, tab General selalu menampilkan field terpisah. Anda tetap bisa menempel URL sqlserver://user@host:1433/database di Or paste a connection URL pada langkah pertama dialog, dan Selekta mengisi field dari URL tersebut.
Opsi enkripsi
Daftar SSL mode di tab SSL punya tiga pilihan untuk SQL Server:
| Opsi | Fungsinya | Cocok untuk |
|---|---|---|
| Off | Hanya paket login yang dienkripsi. Query dan hasilnya dikirim sebagai teks biasa. | Jangan dipakai di jaringan yang tidak Anda kendalikan. |
| Encrypt, trust server certificate | Semua lalu lintas dienkripsi, tetapi sertifikat server apa pun diterima. | Server Docker lokal dan server development dengan sertifikat self-signed. Ini default-nya. |
| Encrypt and verify | Enkripsi plus pemeriksaan rantai sertifikat dan kecocokan dengan nama host. | Server remote dan production, Azure SQL. |
Teks bantuan di bawah daftar menjelaskan pilihan yang aktif dengan kalimat yang sama, jadi Anda bisa memeriksanya sebelum tes.
Kasus sertifikat self-signed
Instalasi SQL Server yang baru membuat sertifikat self-signed. Dengan Encrypt, trust server certificate, semuanya langsung jalan. Dengan Encrypt and verify, tes berhenti di TLS handshake dan muncul dialog Server certificate not trusted yang menampilkan subject, issuer, tanggal kedaluwarsa dan fingerprint SHA-256 sertifikat. Password belum dikirim. Ada tiga pilihan:
- Switch to Encrypt and verify with a CA file… jika perusahaan Anda punya certificate authority sendiri: pilih file
.pem,.crtatau.cer-nya lalu tes lagi. Ini solusi yang benar untuk production. - Trust this certificate for this connection mengunci sertifikat ini berdasarkan fingerprint. Jika nanti server memberikan sertifikat lain, Selekta bertanya lagi alih-alih konek diam-diam.
- Cancel lalu kembali ke Encrypt, trust server certificate jika ini server development.
Cocokkan fingerprint dengan yang diberikan administrator sebelum memercayainya.
Menjalankan script dengan GO
GO bukan bagian dari T-SQL; itu pemisah batch yang dipahami tool. Selekta menanganinya seperti tool SQL Server pada umumnya:
DECLARE @since date = '2026-01-01';
SELECT COUNT(*) FROM dbo.Orders WHERE OrderDate >= @since;
GO
CREATE OR ALTER PROCEDURE dbo.RecentOrders AS
SELECT TOP (50) * FROM dbo.Orders ORDER BY OrderDate DESC;
GO
EXEC dbo.RecentOrders;
- Baris yang hanya berisi
GO(huruf besar atau kecil) mengakhiri batch. Saat Anda menjalankan seluruh script dengan ⌥X, semua yang ada di antara dua barisGOdikirim sebagai satu batch, sehingga variabel dariDECLAREterlihat oleh statement sesudahnya di batch yang sama. - Body
CREATE PROCEDURE,CREATE FUNCTIONdanCREATE TRIGGERberlaku sampai akhir batch-nya, dan blokBEGIN … ENDtetap utuh. - Angka setelah GO, seperti
GO 5, diterima tetapi diabaikan: batch hanya dijalankan sekali. - ⌘↵ hanya menjalankan statement di posisi kursor.
Kalau gagal
Login failed for user 'sa'. Error SQL Server 18456: password salah, login dinonaktifkan, atau server hanya menerima Windows authentication. Selekta menandai password dengan "Rejected by the server" dan menambahkan: "Check the password. If it is right, the server may allow Windows authentication only, or the login has no access to this database." Aktifkan mixed mode authentication di server, atau minta login SQL.
Cannot open database "Sales" requested by the login. The login failed. Error 4060: login-nya valid, tetapi database tidak ada atau login tidak punya user di database itu. Kosongkan Database untuk memastikan login berfungsi, lalu perbaiki namanya atau minta akses.
Connection refused on sql.example.com port 1433. Tidak ada yang mendengarkan di sana. Pastikan SQL Server berjalan, TCP/IP aktif di SQL Server Configuration Manager, dan pakai port sebenarnya dari named instance. Untuk server di jaringan privat, pakai Set up SSH tunnel di banner.
No answer from sql.example.com after 10 s. Firewall membuang lalu lintas di port 1433. Buka port untuk alamat Anda, sambungkan VPN, atau pakai SSH tunnel; Connect timeout (s) di Advanced bisa dinaikkan, tetapi jarang menyelesaikan masalah sendirian.
Server certificate not trusted. Sudah dibahas di atas: Anda memilih Encrypt and verify dan sertifikat server self-signed atau diterbitkan CA yang tidak dipercaya Mac Anda.
