通过Internet安全地将数据从SQL服务器传输到SQL服务器

时间:2009-07-09 08:12:22

标签: sql-server

我需要每天将数据从SQL Server(2008)传输到SQL Server(2005)。其中一台服务器位于我们的Web主机上,因此数据将通过Internet传输。在同一网络上,我会使用SSIS来传输数据,但通过Internet,这不是一个安全的选择。有没有一种安全的方法来实现这一目标?

3 个答案:

答案 0 :(得分:4)

您可以将SSL与SQL Server(2000/2005 Instructions / 2008 Instructions)一起使用,然后对两台计算机之间的连接强制进行协议加密。您也不必使用购买的SSL证书,可以使用Windows Server Certificate Services生成一个 - 但是如果这样做,则CRL必须位于两台服务器都可以连接的计算机上。一种简单的方法是在独立计算机上安装证书服务,可能只是一个VM和configure it to embed a public DNS name for it's CRL。这不一定是运行证书服务的计算机,只是您拥有并可以上传的内容。然后,您可以生成证书并发布CRL和tada,全部完成。

您需要确保服务帐户SQL正在运行,因为它正在使用的证书access to the private key

答案 1 :(得分:0)

通常不建议将SQL Server暴露给Internet,尽管在这种情况下可能无法控制。在您的职位上,我将研究开发一些可以执行数据传输的单独Web服务。然后可以使用各种方法保护这些,例如SSL和WS-Security以及其他自定义用户权限。如果那是不可能的话,那么blowdart的回答似乎就好了。

答案 2 :(得分:0)

您可以使用Service Broker

  • 内置于SLQ Server引擎本身,无需外部进程来驱动通信。
  • 兼容协议SQL 2005 and SQL 2008通过Service Broker开箱即用。
  • 无需将任何服务器暴露给互联网。通过Message Forwarding,您可以公开 只是一个SQL Express,没有数据,互联网充当网关,让消息进入后端目标。
  • Communication is encrypted
  • Speed,链接中的示例显示了如何在商用机器之间交换超过5000个1k有效负载消息每秒

与SSIS或复制不同,Service Broker是一种通用通信框架,因此它不会提供支持来提取更改并应用更改,以及解决冲突等。你必须自己编写这部分代码。