对于在企业内分发数据和存储过程,复制是一项重要而功能强大的技术。微软® SQL Server™ 里的复制技术允许管理员够制作数据的拷贝,把这些拷贝移动到不同位置,并自动同步数据。这样,所有的拷贝将拥有相同的数据。整个的复制过程可以在同一台服务器上的数据库之间进行,也可以在由LAN、WAN或Internet连接起来的服务器之间进行。
把SQL Server和微软代理服务器组合起来,在不影响数据库安全性的条件下,使得用户能够通过Internet复制数据。实现一个跨Internet的复制计划需要的步骤包括:配置网络拓扑,理解安全方法,配置代理服务器,以及配置SQL Server 7.0的复制。
在定义SQL Server和代理服务器如何共同操作时,第一步是配置网络拓扑。如下面的图表所示,代理服务器在Internet和运行SQL Server 7.0的内部服务器(称为出版者)之间提供了一条直连链路。运行SQL Server的内部服务器被配置成出版者 ,同时又被配置成发行者。另一个服务器—订户,在它上面运行着SQLServer 7.0 ,可以通过Internet访问订户;这台服务器被配置成为使用推(pull)方式复制数据的订户。
图 1. 网络拓扑
代理服务器的软件需求如下:
运行SQL Server的服务器的软件需求如下:
代理服务器被配置成多穴服务器,防止未经授权的Internet用户取得对内部网络资源的访问权。多穴服务器上有两块网卡(NIC),通过这两块网卡,提供了连接同种网络的安全方法。第一块网卡,叫做外部代理,它把Internet用户隔离在内部网络之外。内部网络可以通过第二块网卡-叫做内部代理接口-访问代理服务器。当代理服务器允许内部用户访问Internet时,在内部代理接口和外部代理接口之间,可以建立连接。
代理服务器控制着内部网络上的哪个服务或用户可以与外部建立连接,或者与代理服务器上的端口绑定。在Internet上的用户或服务器要访问内部网的数据或资源之前,必须建立这种连接。
要建立与代理服务的连接, Internet 用户得通过外部代理接口,进入代理服务器,与代理服务器的某个端口连接。与代理服务器上的某个端口建立连接之后,用户只能访问在代理服务器上允许他访问的资源-例如某个文件目录。用户无法取得对内部网络上的服务或资源的访问能力。
要取得对内部网络资源的访问能力,具有适当权限的内部用户或服务必须用外部代理接口连接到某个端口。在绑定过程中,代理服务器对用户的身份进行认证,如果用户具备足够的权限,就继续完成连接。
这种特殊的Internet 配置并不影响SQL Server的基本安全属性。内部网络上拥有适当权限的用户,可以访问SQL Server服务器上的数据。但是,要想访问SQL Server和出版物, Internet 用户首先必须知道IP地址,连接到代理服务器上的合适端口,然后提供有效的SQL Server 登录账户。
对于SQL Server服务器或代理服务器所在的内部子网,不要指定缺省网关。外部接口的缺省网关必须指向相应路由的IP地址。