A prática padrão é não fazer isso.
Use uma VPN / DirectAccess ou use uma interface de serviço da Web.
Um dos meus clientes tem um banco de dados que contém seus dados (esse servidor também hospeda uma loja virtual do asp.net) e eles me fizeram escrever um programa para o seu cliente, com o qual podem consultar seu banco de dados. Meu problema é que eu fui aconselhado a não fazer o servidor SQL acessível diretamente através da internet? Qual seria a prática padrão? Devo implantar um cliente VPN automaticamente? Estou meio confuso com isso. Por favor, informe.
Entre dois servidores - criptografia baseada em certificado.
Criptografando conexões com o SQL Server link
Tags sql sql-server deployment