Mở máy chủ SQL để trực tiếp kết nối bên ngoài là một ý tưởng nên tránh nếu bạn có thể - bạn đang tăng đáng kể diện tích bề mặt có thể nhìn thấy của mình để tấn công và mọi liên lạc giữa bạn và máy chủ (có lẽ ngoài thông tin đăng nhập trong giai đoạn xác thực, có lẽ) sẽ không được mã hóa. Nếu bạn phải mở cổng, hãy đảm bảo rằng nó chỉ mở đối với (các) địa chỉ IP cố định của bạn (giả sử bạn có địa chỉ cố định không được chia sẻ bởi bất kỳ ai khác, tức là bạn không sử dụng ISP có phía sau sắp xếp NAT như hầu hết các nhà cung cấp internet di động).
Tùy chọn tốt hơn nhiều sẽ là cài đặt thiết lập VPN (ví dụ như OpenVPN ) hoặc dịch vụ SSH ( Cygwinbao gồm một cổng của OpenSSH tiêu chuẩn chung mà tôi tài trợ hiện đang chạy tốt như một dịch vụ trong Windows 2003 và 2008) mà bạn có thể kết nối thông qua. Bằng cách này, SSH hoặc VPN xử lý cả xác thực và mã hóa và thêm (giả sử bạn có mật khẩu / khóa bảo mật) một lớp bảo vệ quan trọng mà một cổng mở trực tiếp sẽ không có. Hỗ trợ nén mà họ cung cấp sẽ giúp thời gian phản hồi cho bất kỳ truy vấn nào trả lại nhiều hơn một lượng nhỏ dữ liệu. Một sự sắp xếp dựa trên SSHd có thể dễ dàng hơn để thiết lập, đặc biệt là nếu bạn đã quen với SSH, mặc dù hầu hết các VPN thực sự (như OpenVPN) đều có lợi thế là giao tiếp qua chúng có khả năng tồn tại mất điện trong giao tiếp ngắn (như mất bộ định tuyến ADSL đồng bộ hóa và kết nối lại). Tùy chọn VPN cũng ít rắc rối hơn nếu bạn có nhiều phiên bản máy chủ SQL đang chạy trên máy đích hoặc tại trang đích. Tôi đã sử dụng cả hai phương pháp thành công cho một số thứ, bao gồm nói chuyện với SQL Server bằng các phiên bản cục bộ của các công cụ tiêu chuẩn và thấy chúng hoạt động tốt (mặc dù các máy chủ OpenVPN của tôi đều có trên Linux, nhưng tôi nói nó hoạt động tốt như máy chủ trên Windows cũng vậy).
Kết nối trực tiếp với máy từ xa như thế này có thể rất thuận tiện, nhưng lưu ý rằng ngay cả khi thiết lập VPN cẩn thận, bạn vẫn tăng số lượng máy mà SQL Server của bạn tiếp xúc, đặc biệt nếu đó là hệ thống sản xuất với Dữ liệu thực của người dùng, đảm bảo bạn dành thời gian để đảm bảo rằng các máy có thể nhìn thấy máy chủ qua VPN / đường hầm được bảo mật và không bị nhiễm trùng (tất nhiên bạn có thể đã làm điều này rồi, nhưng nó luôn luôn đáng để nghỉ ngơi!).