Відкриття SQL-сервера для прямого зовнішнього з'єднання - це ідея, якої можна уникати, якщо ви можете - ви значно збільшуєте свою видиму поверхню для атаки, і будь-яке спілкування між вами та сервером (окрім даних для входу на етапі аутентифікації, можливо) не буде зашифровано. Якщо вам потрібно відкрити порт, переконайтеся, що він відкритий лише для вашої фіксованої IP-адреси (якщо ви маєте фіксовану адресу, якою ніхто інший не ділиться, тобто ви не користуєтесь провайдером, який має вас за розташуванням NAT, наприклад більшість провайдерів мобільного Інтернету).
Набагато кращим варіантом було б встановити налаштування VPN (наприклад, OpenVPN ) або послугу SSH ( Cygwinвключає порт загального стандарту OpenSSH, який я зараз фінансую, і сервіс під Windows 2003 та 2008 рр.), через який ви можете тунелювати з'єднання. Таким чином SSH або VPN обробляють як автентифікацію, так і шифрування, і додаючи (якщо у вас є захищені паролі / ключі) значного рівня захисту, якого безпосередньо відкритого порту не було б. Підтримка стиснення, яку вони пропонують, допоможе час відповідей на будь-які запити, які також повертають більше невеликої кількості даних. Встановлення на основі SSHd може бути простішим у налаштуванні, особливо якщо ви вже звичайно знайомі з SSH, хоча більшість справжніх VPN (наприклад, OpenVPN) мають перевагу в тому, що спілкування над ними швидше витримає короткі відключення зв'язку (наприклад, втрата маршрутизатора ADSL синхронізація та повторне з'єднання). Опція VPN також менше клопоту, якщо у вас є кілька примірників сервера SQL, що працює на цільовій машині або на цільовому сайті. Я використовував обидва методи успішно для багатьох речей, включаючи розмову з SQL Server за допомогою локальних версій стандартних інструментів і виявив, що вони добре працюють (хоча мої сервери OpenVPN працюють на Linux, але мені кажуть, що це добре працює сервер також у Windows).
Підключення до віддаленої машини (в), подібне до цього, може бути дуже зручним, але майте на увазі, що навіть при ретельному налаштуванні VPN ви збільшуєте кількість машин, до яких піддається SQL Server, особливо якщо це виробнича система з вашою реальних даних користувачів, переконайтеся, що ви знайдете час для того, щоб машини, які бачать сервер через VPN / тунель, надійно захищені та незаражені (ви, мабуть, це вже робите, звичайно, але це завжди варто перезавантажити!).